理解 __declspec(dllexport)和__declspec(dllimport)


1、解決的問題:

  考慮下面的需求,使用一個方法,一個是提供者,一個是使用者,二者之間的接口是頭文件。頭文件中聲明了方法,在提供者那里方法應該被聲明為__declspec(dllexport),在使用者那里,方法應該被聲明為__declspec(dllimport)。二者使用同一個頭文件,作為接口,怎么辦呢?

2、解決辦法:

  使用條件編譯:定義一個變量,針對提供者和使用者,設置不同的值。

復制代碼
 1 #ifndef DLL_H_
 2 #define DLL_H_
 3 
 4 #ifdef DLLProvider
 5 #define DLL_EXPORT_IMPORT __declspec(dllexport)
 6 #else
 7 #define DLL_EXPORT_IMPORT __declspec(dllimport)
 8 #endif
 9 
10 DLL_EXPORT_IMPORT int add(int ,int);
11 
12 #endif
復制代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM