我在一篇正在阅读的文章中看到了这段代码。
g2d.drawString()
EXAMPLEUNMANAGEDDLL_API做了什么?
提前致谢
答案 0 :(得分:3)
这是为了将类的函数导出或导入DLL。
有关其他信息,请阅读MSDN上的这篇文章:Using dllimport and dllexport in C++ Classes
通常的做法是在类的头文件中使用条件编译,以便可以使用相同的头来生成DLL或使用DLL:
#ifdef EXAMPLEUNMANAGEDDLL_EXPORTS
#define EXAMPLEUNMANAGEDDLL_API __declspec(dllexport)
#else
#define EXAMPLEUNMANAGEDDLL_API __declspec(dllimport)
#endif
在此示例中,库的代码或构建脚本将定义符号EXAMPLEUNMANAGEDDLL_EXPORTS
。
答案 1 :(得分:1)
这些构造在Windows中用于控制在构建DLL时是否正在使用该类,或者它是用于构建DLL的用户。
构建DLL时,EXAMPLEUNMANAGEDDLL_API
需要扩展为__declspec(dllexport)
。
在建立DLL的用户时,EXAMPLEUNMANAGEDDLL_API
需要扩展为__declspec(dllimport)
。
更多信息可在以下网址找到: