库头文件的导入导出宏

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 @   奥雷连诺  阅读(300)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
点击右上角即可分享
微信分享提示