//xxx.h #ifdef CFG_API_BEING_COMPILED #ifdef WIN32 #define CFG_API_EXPORT __declspec(dllexport) #else #define CFG_API_EXPORT #endif #else #if defined(WIN32) #define CFG_API_EXPORT __declspec(dllimport) #else #define CFG_API_EXPORT extern #endif #endif CFG_API_EXPORT int CFG_InitReq( CFG_HANDLE* pHandle /*O: the */ );
============================
在configuration Properties中
C/C++ --> Preprocessor --> Preprocessor Definitions
中加入WIN32; CFG_API_BEIGN_COMPILED;
对在VC工程中的.h文件来说,
在本工程中,#define CFG_API_EXPORT __declspec(dllexport) 有意义,
在函数头部加上CFG_API_EXPORT 宏的时候,是导出函数;
当别的工程来调用包含这个头文件的时候,并没有定义WIN32,CFG_API_BEIGN_COMPILED的宏,#define CFG_API_EXPORT __declspec(dllimport) 有意义
所以该头文件的函数又成为了导出函数。