Dll介面定義

2021-06-16 12:23:59 字數 698 閱讀 9379

dll中匯出函式的宣告有兩種方式:一種為在函式宣告中加上__declspec(dllexport),這裡不再舉例說明;另外一種方式是採用模組定義(.def) 檔案宣告,.def檔案為鏈結器提供了有關被鏈結程式的匯出、屬性及其他方面的資訊。

首先建立 乙個dll程式,.cpp中

int __stdcall add(int numa, int numb)

int __stdcall sub(int numa, int numb)

然後建立乙個.def的檔案,在裡面加上

using namespace std;

typedef int (__stdcall *fun)(int, int);

hinstance hinstance;

fun   fun;

int main()

cout << fun(1, 2) << endl;

freelibrary(hinstance);

return 0;

}說明:

.def檔案的規則為:

(1)library語句說明.def檔案相應的dll;

(2)exports語句後列出要匯出函式的名稱。可以在.def檔案中的匯出函式名後加@n,表示要匯出函式的序號為n(在進行函式呼叫時,這個序號將發揮其作用);

(3).def 檔案中的注釋由每個注釋行開始處的分號 (;) 指定,且注釋不能與語句共享一行。

檢視Dll介面

vs2010裡vcvarsall.bat是在d program files x86 microsoft visual studio 10.0 vc目錄下,執行方法是直接將vcvarsall.bat檔案拖入命令列視窗,然後回車。拖入相當於在命令列中輸入 d program files x86 micr...

dll匯出介面

最近做了乙個dll,我使用是c方式匯出的,但是在定義介面的時候使用了c 中的string,導致我的debug的exe呼叫不了 release的dll,後來我使用了c風格的字串,結果成功匯出,並且debug的exe成功的呼叫了release的dll。在編譯的時候,編譯器給出過警告,說我匯出的介面與c風...

C 介面 介面定義

介面用來描述一種程式的規定,介面描述可屬於任何類或結構的一組相關行為。實現介面的類或結構要與介面的定義嚴格一致。介面可由方法 屬性 事件 索引器或這4種成員型別的任何組合構成。介面不能包含字段。介面成員一定是公共的。定義介面的語法如下 訪問修飾符 inte ce 介面名 下面定義乙個開關的介面,如下...