[問題] 關於Labview與C的wrapper.dll問題

看板C_and_CPP作者 (sony)時間7年前 (2016/08/19 13:27), 7年前編輯推噓1(1030)
留言31則, 3人參與, 最新討論串1/2 (看更多)
大家好, 我是labview新手,還沒有處理過C的dll檔案與labview的互相溝通問題,最近工作需要, 我要對labview與C語言的dll檔案之間的溝通問題做些報告。 但是我在網路上只找到關於dll的複雜結構資料型態與labview之間不能溝通的問題,所以 有些人會建議用wrapper的方法將原本C的dll檔案中的複雜結構做拆解,然後做成新的dll 檔案,讓labview使用正確的簡易資料結構。 但是我還是沒有找到確切的wrapper方法實作,只是有個以上的概念而已,不知道版上的 高手是否可以告訴我那邊可以找到這方面完整的資訊? 哪種書可以教我dll包dll的問題? 之前在書店找了一遍,發現市面上的labview書和C語言的書都是滿基本的操作,很少有它 們之間的dll問題描述,不曉得在labview與C的dll溝通的時候,除了以上資料結構不同的 問題之外,還有那些問題會發生在labview與C的dll溝通的情況之下。 感謝高手的指點了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 211.23.93.163 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1471584445.A.F40.html

08/19 15:13, , 1F
我 google labview c dll 就一堆了…
08/19 15:13, 1F

08/19 15:15, , 2F
如果有問題而且確定是 c/c++ dll 我猜 calling conventio
08/19 15:15, 2F

08/19 15:15, , 3F
n
08/19 15:15, 3F
不知道是否可能找的到那本書,有講這方面的資訊的,感謝了。 ※ 編輯: hstrxgfcg216 (211.23.93.163), 08/19/2016 16:29:50

08/20 08:24, , 4F
網書
08/20 08:24, 4F

08/20 08:30, , 5F
沒有DLL包DLL這回事吧,只有DLL call DLL
08/20 08:30, 5F

08/20 08:31, , 6F
有點看不懂你的需求,不過我猜你是想要把介面跟邏輯
08/20 08:31, 6F

08/20 08:31, , 7F
分開來這樣?
08/20 08:31, 7F

08/20 08:33, , 8F
那你就只需要確保介面符合規範,剩下兩個DLL之間的邏
08/20 08:33, 8F

08/20 08:33, , 9F
輯就只是普通的程式設計
08/20 08:33, 9F

08/20 11:49, , 10F
個人看法... 第一個你要會寫C/C++程式
08/20 11:49, 10F

08/20 11:50, , 11F
第二個 你要會在你的C/C++程式中呼叫dll
08/20 11:50, 11F

08/20 11:51, , 12F
最後 你要會把你的C/C++程式包成dll
08/20 11:51, 12F

08/20 11:54, , 13F
(覺得自己好像在說廢話.......)
08/20 11:54, 13F
目前我是會把程式包成dll檔,只是還沒有用dll去call過其他dll,因為我們主管都還沒 有買labview只叫我先查查看別人在labview下呼叫c的dll檔案時,會發生那些問題,所以 我目前是找到wrapper.dll的做法,但是我還在摸索中XD ※ 編輯: hstrxgfcg216 (36.229.5.242), 08/20/2016 12:59:55

08/20 14:07, , 14F
問題是 不會有你說的問題發生阿…
08/20 14:07, 14F

08/20 14:08, , 15F
從來沒聽過什麼 dll 資料結構什麼 dll 包 dll wrapper
08/20 14:08, 15F

08/20 14:08, , 16F
08/20 14:08, 16F

08/20 14:13, , 17F
你主管只是不想花錢買軟體之後遇到一堆問題 然後他也只
08/20 14:13, 17F

08/20 14:13, , 18F
知道你要把 c 和 labview 接起來所以才這樣跟你說吧 實
08/20 14:13, 18F

08/20 14:13, , 19F
際上你主管重點不是在 labview + dll 會有什麼問題 而是
08/20 14:13, 19F

08/20 14:13, , 20F
買了 labview 能不能達到想要的效果
08/20 14:13, 20F

08/20 14:26, , 21F
我覺得你現在最好的做法是去弄個試用版 labview 來給他
08/20 14:26, 21F

08/20 14:26, , 22F
玩一玩 確認會不會遇到問題 順便讓你更了解這些東西 才
08/20 14:26, 22F

08/20 14:26, , 23F
有能力能預期哪邊可能會出問題
08/20 14:26, 23F
http://digital.ni.com/public.nsf/allkb/06ECDC689DDA0F3D862574440074CD95 也許這個聯結會讓人比較清楚我的問題XD ※ 編輯: hstrxgfcg216 (223.140.124.59), 08/20/2016 14:51:53

08/20 15:22, , 24F

08/20 15:22, , 25F
滿清楚
08/20 15:22, 25F

08/20 15:25, , 26F
你的函式回傳/接收的參數必須是 Labview 能夠處理的
08/20 15:25, 26F

08/20 15:27, , 27F
如果你的函式接收/回傳 Labview 不能處理的資料你就得重
08/20 15:27, 27F

08/20 15:27, , 28F
寫程式/wrapper 包起來 這樣而已
08/20 15:27, 28F
只是我沒有寫wrapper程式的經驗,查了一下,好像是新的dll呼叫原dll,不知道是否用 一個dll去引用別的dll,只要單純在前面include原dll就可以了XD ※ 編輯: hstrxgfcg216 (42.73.35.18), 08/20/2016 16:30:37

08/20 16:38, , 29F
那要看你有沒有舊 dll 的原始碼 有原始碼就沒有“舊dll
08/20 16:38, 29F

08/20 16:38, , 30F
”這個問題啦
08/20 16:38, 30F

08/20 16:40, , 31F
沒有原始碼就只是變成新 dll 動態連結舊 dll 這樣
08/20 16:40, 31F
感謝啦,我大概有點頭絮了XD ※ 編輯: hstrxgfcg216 (223.136.1.106), 08/20/2016 18:10:35
文章代碼(AID): #1NjfYzz0 (C_and_CPP)
文章代碼(AID): #1NjfYzz0 (C_and_CPP)