[問題] dll的標頭檔用途?

看板C_and_CPP (C/C++)作者 (陳小呆)時間12年前 (2013/06/25 14:27), 編輯推噓0(0021)
留言21則, 3人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Visual studio 2010 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 在製作DLL的時候不清楚標頭檔究竟是什麼用途 是宣告說 我有這個函式就好 還是要把函式的內容打出來? 我現在是單純宣告說有這個函式 例如它叫做A 那我就單純宣告說 extern "C" _declspec (dllexport) void A(long *in,float *out); 然後在.cpp檔裡面再對這函式進行內容的編輯 就是 extern "C" _declspec (dllexport) void A(long *in,float *out) { ... } 這樣子? 還是其他的用法 DLL求救中 感謝各位 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.126.10.176

06/25 14:32, , 1F
在 c 底下需要他exprot, c++ 在程式碼就能 export 了.
06/25 14:32, 1F

06/25 14:34, , 2F
我搞錯成 *.def了 XD
06/25 14:34, 2F

06/25 14:35, , 3F
你寫用法就能行了
06/25 14:35, 3F

06/25 14:40, , 4F
在cpp底下 void A(long *in,float *out){ ... } 就可以了
06/25 14:40, 4F

06/25 14:42, , 5F
所以HEADER就照我上面那個就可以了對嗎
06/25 14:42, 5F

06/25 14:43, , 6F
回應這麼迅速真的很感謝您!!
06/25 14:43, 6F

06/25 14:43, , 7F
因為我上班在摸魚 (挺)
06/25 14:43, 7F

06/25 14:45, , 8F
這樣不太好吧XD
06/25 14:45, 8F
出現問題! 由於是要將DLL應用在LABVIEW裡面 但是改成 void A ~~~的話LABVIEW是無法讀取到這個東西的 換成_declspec (dllexport) void A ~~才可以讀取到 輸出的資料是矩陣 可是現在無法輸出啊!!該怎麼辦 冏 ※ 編輯: jackydie1007 來自: 120.126.10.176 (06/25 15:03)

06/25 15:10, , 9F
丟出程式碼來吧, 無碼很難知道有多黑
06/25 15:10, 9F

06/25 15:24, , 10F
好!
06/25 15:24, 10F

06/25 15:25, , 11F
http://pastie.org/8077749 這是CPP的部分
06/25 15:25, 11F

06/25 15:26, , 12F
http://pastie.org/8077751 這是HEADER的部分
06/25 15:26, 12F

06/25 15:26, , 13F
麻煩您了(鞠躬)
06/25 15:26, 13F

06/25 15:27, , 14F
啊FOR回圈內的OUTREAL是用被我槓掉的那段不是i
06/25 15:27, 14F

06/25 15:28, , 15F
忘記改回來再PO了對不起XD
06/25 15:28, 15F

06/25 15:29, , 16F
CPP裡面沒引用Header include "*.h"
06/25 15:29, 16F

06/25 15:29, , 17F
(繼續摸魚)
06/25 15:29, 17F

06/25 15:32, , 18F
!!!!我試試看!!感恩XD
06/25 15:32, 18F

06/25 15:36, , 19F
QQ快被LABVIEW搞死 依舊無反應 輸出端還是什麼都沒有
06/25 15:36, 19F

06/25 18:12, , 20F

06/26 16:24, , 21F
雖然我還是做不出來 可是真的很感謝你們!!
06/26 16:24, 21F
文章代碼(AID): #1HoJWtgv (C_and_CPP)
文章代碼(AID): #1HoJWtgv (C_and_CPP)