我已经搜索了一些微软教程和所有相关的堆栈溢出线程,以找到正确的答案。对我来说都不够清楚。
这个帖子仍然留下了一些疑问。
"__declspec( dllexport )-这样标记的类或函数将从它构建的DLL中导出“
与
"__declspec( dllimport )-这样标记的类或函数将从DLL导入“
很难理解,因为“从DLL导入”和“从DLL导出”是什么意思?您可以从导出从和导入到的东西,也可以从和导出到的东西。
我的理解是: dllexport用于指定要将此代码加载到我正在创建的DLL中,而dllimport用于告诉编译器我希望使用DLL中的代码。
对吗?
发布于 2014-09-05 09:35:03
当您想要使用dll中的某些内容时,需要包含一个好的.h文件,该文件将包含__declspec( dllimport )(通常使用#define宏完成,以便在编译时相应地在导出和导入之间切换)。
因此,您将从提供此.h文件的dll中导入。
相反,当您编译这个dll时,.h文件包含__declspec( dllexport ),告诉编译器/链接器完成从dll导出该部分的工作。
发布于 2014-09-05 09:36:04
你读过这些书吗?
解密规范(Dllexport)
解密(Dllimport)
https://stackoverflow.com/questions/25682722
复制相似问题