库头文件的导入导出宏

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) 有意义

所以该头文件的函数又成为了导入函数。


posted @ 2012-04-24 14:26  奥雷连诺  阅读(292)  评论(0编辑  收藏  举报