作者BIAO (超越自己)
看板C_Sharp
標題[問題] C#引用C++ dll
時間Thu Dec 11 13:09:19 2014
各位板友大家好,
小弟目前在使用C#引用C++的dll,
無奈遇到問題,想和板友請教..
目前測試C++ dll時,
兩個函式都是在class內,
其中一個是做加法,稱A;
另一個稱B,是做完運算將數值寫入資料表。
在C++內都有用dllexport,沒使用extern "C"。
在C#是採用DllImport,有使用EntryPoint參數。
在實際用C#調用過程,
A能夠被調用,回傳數值也正確,
B則是有回傳值,觀看回傳值為正確,但是數值卻無寫入資料庫。
此C++ dll在用C++調試時是正常的,
懇請板友能夠提供排解問題的方法,謝謝。
(註:此C#是發行到IIS下做WebService)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.251.138.110
※ 文章網址: http://www.ptt.cc/bbs/C_Sharp/M.1418274561.A.716.html
推 largesperm: extern 不是簡單多了嗎? 12/11 14:25
→ largesperm: 把方法單純 extern 出去, C# 一找就找到 也可正常工作 12/11 14:25
回l大的話,目前我正在用extern,
依舊是A函式能用,B函式不行。
這和B函式內又呼叫其他函式有關係嗎?
※ 編輯: BIAO (60.251.138.110), 12/11/2014 15:02:46
發現程式其實有動作,但是在條件判斷時就跳開了,
目前正在查傳入的參數為何?
原C++ dll是char*,但C#是用string傳入。
※ 編輯: BIAO (61.219.255.70), 12/12/2014 09:31:37
推 Qbsuran: C#傳srting進去會變成wchar_t * 靠windows api轉換就可以 12/14 00:42
→ Qbsuran: 解決了 12/14 00:42