Using __declspec( dllexport )

Using __declspec( dllexport )

本文关键字:dllexport declspec Using      更新时间:2023-10-16

嗨,我与dllexport混淆了。

 #define DllExport   __declspec( dllexport )  
class DllExport C {  
   int i;  
   virtual int func( void ) { return 1; }  
};  

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

在编译DLL时,您必须像您一样编写__declspec(dllexport)。这告诉您希望将其导出的编译器。使用DLL时,您需要在随附的文件中使用__declspec(dllimport)。然后,编译器知道此功能和类位于DLL文件中,需要导入。因为您不想更改标头文件,所以您应该定义一个宏观。BUILD_DLL

    #ifdef BUILD_DLL
    #define DLL_PORTING __declspec(dllexport)
    #else
    #define DLL_PORTING __declspec(dllimport)
    #endif

现在您在示例中写下:

    class DLL_PORTING example_class { … };

在您的.exe文件中,只需包含您需要的标头文件,一切都可以。