簡體   English   中英

使用__declspec(dllexport)

[英]Using __declspec( dllexport )

嗨,我有點與dllexport混淆了。當我在類中使用__declspec(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

現在,您在example.h中編寫:

    class DLL_PORTING example_class { … };

在您的.exe文件中,僅包含您需要的頭文件,一切將正常進行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM