我搜索了一些Microsoft教程和所有相关的stackoverflow线程,以找到正确的答案。对我来说,这些都不够清楚。
This thread仍有一些疑问。
" __ declspec(dllexport) - 如此标记的类或函数将从其内置的DLL中导出"
VS
" __ declspec(dllimport) - 如此标记的类或函数将从DLL导入"
嗯,它几乎没有意义,因为它意味着什么"从DLL导入#34;和#34;从DLL"导出。您可以从导出,导入,或从导入,导出到。
我的理解是: dllexport用于指定我要将此代码加载到我正在创建的DLL中,而dllimport用于告诉编译器我想使用DLL中的代码。
这是对的吗?
答案 0 :(得分:1)
当你想要使用dll中的东西时,你要包含好的.h文件,它包含__declspec(dllimport)(通常使用#define宏来在我们编译时相应地在导出和导入之间进行切换)。 / p>
因此,您将从提供此.h文件的dll导入。
相反,当你编译这个dll时,.h文件包含__declspec(dllexport),告诉编译器/链接器完成从我们的dll导出这个部分的工作。
答案 1 :(得分:1)