库头文件的导入导出宏

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

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

你可能感兴趣的:(导入导出)