#ifdef _USRDLL
#ifdef TYICAPI_EXPORTS
#define TYICAPI_CLASS __declspec(dllexport)
#define TYICAPI_API __declspec(dllexport)
#define TYICAPI_DATA __declspec(dllexport)
#else
#define TYICAPI_CLASS __declspec(dllimport)
#define TYICAPI_API __declspec(dllimport)
#define TYICAPI_DATA __declspec(dllimport)
#endif
#else
#define TYICAPI_CLASS
#define TYICAPI_API
#define TYICAPI_DATA
#endif
有谁能给我介绍一下,_USRDLL是什么意思?能不能解释一下这段代码的意义呢?
呵呵,谢谢了!

解决方案 »

  1.   

    #ifdef   _USRDLL           // 如果定义了_USRDLL,则...
          #ifdef   TYICAPI_EXPORTS           // 如果定义了TYICAPI_EXPORTS, 则....导出
                 #define TYICAPI_CLASS __declspec(dllexport) 
                 #define   TYICAPI_API __declspec(dllexport) 
                 #define   TYICAPI_DATA __declspec(dllexport) 
          #else                              // 否则导入
                 #define TYICAPI_CLASS __declspec(dllimport) 
                 #define   TYICAPI_API __declspec(dllimport) 
                 #define   TYICAPI_DATA __declspec(dllimport) 
          #endif 
    #else             // 如果没有定义_USRDLL,则定义它
          #define TYICAPI_CLASS 
          #define   TYICAPI_API 
          #define   TYICAPI_DATA 
    #endif 
      

  2.   

    _USRDLL
    ------------
    自定义的编译开关,#ifdef   _USRDLL,你可以理解为“如果定义了_USRDLL,就。” 
      

  3.   

    纠正:_USRDLL 是系统定义的预编译开关