首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用__declspec( dllexport )

使用__declspec( dllexport )
EN

Stack Overflow用户
提问于 2018-02-25 18:49:02
回答 1查看 5K关注 0票数 3

嗨,我有点困惑于dllexport.When,我在课堂上使用__declspec( dllexport )

代码语言:javascript
复制
 #define DllExport   __declspec( dllexport )  
class DllExport C {  
   int i;  
   virtual int func( void ) { return 1; }  
};  

我是将类C导出到dll文件,还是从dll文件导出C类?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-09 12:29:11

在编译DLL时,您必须像以前那样编写__declspec(dllexport)。这告诉编译器您想要导出它。使用DLL时,需要在所包含的文件中使用__declspec(dllimport)。然后编译器知道这个函数和类在DLL文件中,需要导入.因为你不想改变你的头文件太多,你应该定义一个宏,例如BUILD_DLL

代码语言:javascript
复制
    #ifdef BUILD_DLL
    #define DLL_PORTING __declspec(dllexport)
    #else
    #define DLL_PORTING __declspec(dllimport)
    #endif

现在你用例子写字。

代码语言:javascript
复制
    class DLL_PORTING example_class { … };

在您的.exe文件中,只需包含所需的头文件,一切都会正常工作。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48977138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档