[問題] BCB 6如何產生DLL檔給labview使用?

看板C_and_CPP作者 (dennis)時間10年前發表 (2015/07/25 09:43), 10年前編輯推噓2(2015)
留言17則, 7人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Borland C++ 6 Builder 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 之前使用 Borland C++ 6 Builder的DLL Wizard產生動態連結檔DLL 給Borland C++ 6撰寫出來的介面程式使用都沒有問題。 現在要把此DLL給labview撰寫的介面程式使用卻發生問題,labview一 直都無法讀取到此DLL。 想請教,用Borland C++ 6 Builder如何產生labview可以使用的動態連結 檔DLL呢? 補充說明(Supplement): Borland C++ 6 Builder的DLL Wizard在產生動態連結檔DLL時,都會產生 兩個檔案,一個LIB檔,一個是DLL檔。但我聽labview工程師說,labview 只需要DLL檔即可,跟Borland C++ 6 要同時在開法的專案中加入LIB檔和 DLL檔才能執行DLL檔不同。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.170.52.224 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1437817400.A.C50.html

07/25 19:01, , 1F
Borland C++ 產生的 DLL 需要一個額外的 runtime 才能跑
07/25 19:01, 1F

07/25 19:03, , 2F
07/25 19:03, 2F

07/25 20:07, , 3F
只需要 dll 的話應該是說 labview 用 LoadLibrary 動態
07/25 20:07, 3F

07/25 20:08, , 4F
載入 dll。如果你的 dll 是用 C++ 寫的,可能要注意一下
07/25 20:08, 4F

07/25 20:09, , 5F
name mangling 的問題。
07/25 20:09, 5F

07/25 20:24, , 6F
用codeblock(gcc)去做dll...不要沒事搞自己
07/25 20:24, 6F

07/27 09:30, , 7F
加入lib是靜態聯結
07/27 09:30, 7F
※ 編輯: NeatGar (124.199.89.212), 07/27/2015 11:18:19

07/27 11:26, , 8F
再請教一下,name mangling的問題是指有兩個以上的函數名
07/27 11:26, 8F

07/27 11:28, , 9F
稱(但擁有不同輸入參數)時,所產生的link問題?若是,我的
07/27 11:28, 9F

07/27 11:30, , 10F
程式碼裡面沒有定義相同名稱,應該不會有此問題。若不是?
07/27 11:30, 10F

07/27 11:31, , 11F
name mangling的問題是指那方面呢?感謝回答。^_^
07/27 11:31, 11F

07/27 12:02, , 12F
看所謂的無法讀取到是指什麼?搞不好連函數都沒輸出也可能
07/27 12:02, 12F

07/27 12:52, , 13F
你去看維基百科的說明就知道了, 只要用 C++ 就需要注意
07/27 12:52, 13F

07/27 13:51, , 14F
C++/C會碰到不同的Name Mangling問題 C++的問題是在於
07/27 13:51, 14F

07/27 13:52, , 15F
symbol pattern每個編譯器都不同,C的話主要是C++用
07/27 13:52, 15F

07/27 13:52, , 16F
extern "C"以後需要解決的一些眉眉角角
07/27 13:52, 16F

07/27 13:53, , 17F
純C的話基本上由於語言特性 是沒有太大這類問題的
07/27 13:53, 17F
文章代碼(AID): #1LireunG (C_and_CPP)