BCB呼叫VC的DLL(補充)

2021-10-03 13:54:19 字數 389 閱讀 9192

之前的博文:   講到了bcb如何呼叫vc編譯的dll,做一下補充。

有時vc編譯dll後,用coff2omf把它的lib檔案轉換成bcb的lib還是無法使用,原因是bcb要求lib中的c函式名要有下劃線開頭,而vc有時設定編譯時匯出的函式沒有以下劃線開頭,所以bcb鏈結時會提示沒有這些函式。

解決辦法是用implib.exe直接從dll得到lib,如下所示:

implib -c -aa ***xx.lib ***xx.dll

-c 表示區分大小寫,不然會全變成大寫名稱

-aa 表示強制給匯出的函式都加上下劃線,如果dll裡的名稱本來就都是以下劃線開頭的那麼就不用這個選項

***xx.lib 是得到的lib檔案

***xx.dll 是vc編譯得到的dll檔案

BCB2009 動態呼叫VC生成的DLL

1 先宣告dll中將需要的函式 如 typedef int stdcall impact feedline handle hport,int nporttype 2 hinstance handle 宣告控制代碼 handle loadlibrary impactdll.dll impact fee...

VC動態呼叫DLL

1.生成dll extern c declspec dllexport char sendmess char buffer,int length 呼叫的時候要先給buffer分配記憶體 new 不然會出10014的錯誤.10014 系統檢測到在乙個呼叫中嘗試使用指標引數時的無效指標位址。2.動態呼叫...

利用vc呼叫dll

一時興起,研究下關於dll的呼叫,算是作為我首次發表文章啦,怎麼說也是我的處子作啊 好吧入正題啦 關於dll的呼叫,查了下資料,有兩種 一 靜態呼叫 二 動態呼叫,下面是分別的呼叫方法 一 靜態呼叫 3 用vc開啟mytest工程,選中工程,然後選擇vc選單下的project settings 二 ...