创建动态链接库里可以有宏定义吗

时间:2022-03-01 15:52:14

//myapi.h   (myapi.dll)
#define MY_DLL_API __declspec(dllexport)  


#define Malloc(size)   AlignMalloc(size, __FILE__, __FUNCTION__, __LINE__)

创建动态链接库里可以有宏定义吗?如果有,是怎样的形式导出呢?

#define Malloc(size)   MY_DLL_API  AlignMalloc(size, __FILE__, __FUNCTION__, __LINE__) // 是这样导入导出吗?

3 个解决方案

#1


宏在编译时候就直接替换了,不能存在了,  不能作为符号导出. 要使用宏直接包含头文件就行了, 不需要去链接什么的, 所以也根本不需要导出.

#2


VC编译选项加/EP /P(项目、属性、配置属性、C/C++、预处理器、预处理到文件:是,预处理取消显示行号:是),重新编译,查看宏展开后对应的.i文件。gcc加-E  http://bbs.csdn.net/topics/391003898

#3


明白了, 谢谢啦~

#1


宏在编译时候就直接替换了,不能存在了,  不能作为符号导出. 要使用宏直接包含头文件就行了, 不需要去链接什么的, 所以也根本不需要导出.

#2


VC编译选项加/EP /P(项目、属性、配置属性、C/C++、预处理器、预处理到文件:是,预处理取消显示行号:是),重新编译,查看宏展开后对应的.i文件。gcc加-E  http://bbs.csdn.net/topics/391003898

#3


明白了, 谢谢啦~