提供的代码片段定义了宏 DLLEXPORT,以根据 COMPILING_DLL 宏的值将 dllexport 或 dllimport 属性添加到函数中。但是,问题仍然存在:如何以及在何处定义 COMPILING_DLL?
一种选择是使用项目本地默认定义的宏。这些宏可以在 属性 -> 中找到。 C/C->预处理器->预处理器定义.
例如,如果您的项目名为 MyDLL,则默认宏为 MYDLL_EXPORTS。您可以按如下方式使用该宏:
#ifdef MYDLL_EXPORTS #define DLLEXPORT __declspec(dllexport) #else #define DLLEXPORT __declspec(dllimport) #endif
编译 DLL 项目时,将定义 MYDLL_EXPORTS,使 DLLEXPORT 能够“导出”。在客户端代码中使用 DLL 时,不会定义 MYDLL_EXPORTS,从而使 DLLEXPORT 能够“导入”。
这种方法允许您使用相同的标头来编译 DLL 并在客户端代码中使用它。
以上是如何为 DLLEXPORT/DLLIMPORT 宏正确定义 COMPILING_DLL?的详细内容。更多信息请关注PHP中文网其他相关文章!