看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): WIN 7 編譯器: visual studio 2017 額外使用到的函數庫(Library Used): 外部dll 問題(Question): 平時是寫C#,但近期需要使用C#呼叫其他廠商c++的dll(不曉得是manage還unmanage) 查詢利用DLLIMPORT可以呼叫 但失敗了(應該不是使用錯誤) 出現的錯誤如圖 https://imgur.com/a/Hw9DX6G 原文:https://goo.gl/if1WsW Google到的原因是沒有c++沒有實作clr(=Unmaged?) 但我看所有DLLIMPORT的教學都是說C#可以直接呼叫Unmanaged 抱歉因為不太懂c++ 跪求大大解惑是什麼原因,或是可以提供我關鍵字讓我繼續往下找 我應該做些什麼動作才能將這包dll轉換成C#可以IMPORT的版本 補充說明(Supplement): 願以1000P微薄小心意回饋 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.71.232 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1533571933.A.CB1.html
Schottky: 先檢查硬碟中的檔案有沒有故障 08/07 00:15
petercoin: CLR Support不用開也可以用阿...文章作者很明顯弄錯了 08/07 09:04
petercoin: 然後你的圖的網址被擋掉了 要不要重發一次? 08/07 09:05
已補上圖了 所以不是CLR的問題嗎@@"
lightyen: 透過pinvoke讓managed與unmanaged兩個世界連結 08/07 12:23
那我少做了什麼嗎~"~ Pinvoke會失敗... ※ 編輯: Stevenashh (42.73.71.232), 08/07/2018 20:31:02
Domos: pinvoke只適用C dll, C++不行 08/07 21:55
Domos: 下載dependency walk截圖來看看 08/07 21:55
C++應該是可以的吧!? 我看了很多範例都是可以的 不過感謝大大提供軟體關鍵字 我試試 之前用JustDecompile反組譯失敗 ※ 編輯: Stevenashh (42.73.71.232), 08/07/2018 22:06:03
firose: pinvoke 應該不用加入參考, 它是用動態載入, 只要給對路徑 08/07 22:46
firose: 函數名正確, 呼叫慣例對, x86/x64 沒搞錯應該就可以 08/07 22:47
petercoin: 不需要按照他的方式加入dll,那個是managed dll的參照 08/07 23:02
petercoin: 方式,文章根本就誤導你了。 08/07 23:02
petercoin: 你把你在C#裡面宣告C++ function的部分貼出來看看,這 08/07 23:04
petercoin: 樣才能幫你 08/07 23:04