本文介紹如何使用def檔案製作dll。
模組定義 (.def) 檔案是包含乙個或多個描述 dll 各種屬性的 module 語句的文字檔案。如果不使用__declspec(dllexport)關鍵字匯出 dll 的函式,則 dll 需要 .def 檔案。.def 檔案必須至少包含下列模組定義語句:
步驟:1. 新建乙個win32控制台專案,file->new->project,選擇win32控制台專案,在「應用程式設計」中選擇"dll","空專案"
int __stdcall add(int numa, int numb)
int __stdcall sub(int numa, int numb)
library dlldeftest
exports
add @ 1
sub @ 2
也可以為如下內容,即函式名稱不包括序號
library dlldeftest
exports
addsub
這兩者的區別只是在外部匯入函式時有所不同,下面會具體介紹。
4.編譯工程,就可以在debug中看到dlldeftest.lib和dlldeftest.dll。
到此dll的製作已經完成,下面給出乙個測試程式,看看如何使用該dll。
建立乙個win32控制台專案,在「應用程式設計」中選擇「控制台應用程式」和「空專案」,在工程中新增test.cpp檔案,並輸入如下**:本文給出的測試程式是採用顯示鏈結的方式呼叫該dll的,當然也可以採用隱式鏈結的方式呼叫,如果採用隱式鏈結必要要有標頭檔案。
#include
#include
using namespace std;
typedef int (__stdcall *fun)(int, int);
hinstance hinstance;
fun fun;
int main()
cout << fun(1, 2) << endl;
freelibrary(hinstance);
return 0;
}注意,需要將剛才生成的dlldeftest.dll檔案拷貝到測試工程目錄下。
使用Def檔案匯出Dll檔案
本文介紹如何使用def檔案製作dll。模組定義 def 檔案是包含乙個或多個描述 dll 各種屬性的 module 語句的文字檔案。如果不使用 declspec dllexport 關鍵字匯出 dll 的函式,則 dll 需要 def 檔案。def 檔案必須至少包含下列模組定義語句 步驟 1.新建乙...
使用def檔案簡化dll匯出
在c 中,我們可以通過 declspec dllexport 將函式匯出為dll中供其它程式使用,例如 declspec dllexport intadd inta,intb 在這種方式下,如果呼叫該dll的是乙個c 程式 同乙個編譯器的版本 是沒有問題的。但是,如果呼叫該dll是乙個其它語言的程式...
dll匯出def和lib檔案
在windows下程式設計的同學,可能都知道可以使用depends這個工具檢視dll依賴項和匯出符號,卻很少知道在命令列下,有兩個更好用的命令,分別是dumpbin和lib,這是vs安裝目錄下的兩個程式。用法 dumpbin 選項 檔案 選項 all archivemembers clrheader...