vc建立DLL,C++BUILDER調用過程
其實,在實際的工作中這個事我做了N遍,可每次用完後忘得一乾二淨(我這人記性不好),每次想做一個DLL都得重新上網找例子,重新調試,費時費力。這次狠下決心要記下全過程:
一、在VC中建立一個DLL工程,名為DLLABC,其他按照預設下一步就OK了。
二、在標頭檔DLLABC.H中添加聲明:
extern "C"
{
int EXPORT _stdcall add(int x,int y);
}
add為函數名,完成X+Y的運算。
三、在DllAbc.cpp檔案中添加函數內容:
extern "C"
int EXPORT _stdcall add(int x,int y)//一個完成加法運算的函數
{
return x+y;
}
四、在檔案DllAbc.def中添加: add 和函數名完全一樣!這個不能漏,我在此花了不少時間。
五、VC中配置為release方式,然後產生DLL檔案。
六、所產生的DLL檔案在C++BUILDER中還不能直接使用,要產生LIB檔案,雖然在VC中也產生了LIB檔案,但與C++BUILDER格式不一樣,不能用。要用一個叫 implib.exe的工具轉換。該檔案安接裝了C++BUILDER的機器一般都會有,你可以搜尋一下,如果找不到上網下載一個。
七、將產生的DLLABC.DLL和IMPLIB.EXE檔案拷到同一個目錄下,如C:/,這樣好在DOS中操作。
八、進入DOS(這個相信大家都會),在C:/中輸入:
IMPLIB DLLABC.LIB DLLABC.DLL 斷行符號
產生的DLLABC.LIB就是我們要的。
九、將三個檔案:DLLABC.LIB(IMPLIB產生的)、DLLABC.DLL、DLLABC.H檔案拷到C++BUILDER專案檔夾中。建立C++BUILDER工程,並在表單中添加一個按鈕控制項BUTTON1和一個文本控制項EDIT1, 在C++BUILDER工程中載入DLLABC.LIB:
十、在項目的標頭檔unit.h 中添加dllabc.h
十一、產生後有一個錯:出現在DLLABC.H。
想了一下,原來這是VC的標頭檔,費代碼太多(這是我不喜歡VC的原因),在CBC中不能用,刪除後,只留下聲明:
十二、重建,不出錯了,在BUTTON1中添加代碼:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int a;
a=add(2,4) ;
Edit1->Text=a;
}
產生可執行檔,運行OK。