dllexport与dllimport之间的区别

时间:2014-09-05 09:29:20

标签: visual-c++ dll

我搜索了一些Microsoft教程和所有相关的stackoverflow线程,以找到正确的答案。对我来说,这些都不够清楚。

This thread仍有一些疑问。

" __ declspec(dllexport) - 如此标记的类或函数将从其内置的DLL中导出"

VS

" __ declspec(dllimport) - 如此标记的类或函数将从DLL导入"

嗯,它几乎没有意义,因为它意味着什么"从DLL导入#34;和#34;从DLL"导出。您可以导出,导入,或导入,导出到

我的理解是: dllexport用于指定我要将此代码加载到我正在创建的DLL中,而dllimport用于告诉编译器我想使用DLL中的代码。

这是对的吗?

2 个答案:

答案 0 :(得分:1)

当你想要使用dll中的东西时,你要包含好的.h文件,它包含__declspec(dllimport)(通常使用#define宏来在我们编译时相应地在导出和导入之间进行切换)。 / p>

因此,您将从提供此.h文件的dll导入。

相反,当你编译这个dll时,.h文件包含__declspec(dllexport),告诉编译器/链接器完成从我们的dll导出这个部分的工作。

答案 1 :(得分:1)