[英]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.