看板 C_Sharp 關於我們 聯絡資訊
如題 個人對C++比較熟悉,也累積比較多工具在上面 想跟C#組合起來使用 但是發現限制不少 例如跟C#第一線接觸的dll必須是開啟CLR的C++專案 CLR又不支援C語言(但是能連上C語言編出來的dll,尚可接受) 然後吃到boost的標頭檔也會跳錯誤訊息出來 像std::printf之類的函式也噴不出訊息 我想知道還有多少限制存在? 是不是我最好dll封裝乾淨點別露出太多東西給那個CLR專案看到? 圖片處理是不是在C#這邊開unsafe用指標處理比較順手? 我看要傳去C++那邊處理好像挺費力的? 要用Marshal另外申請記憶體才能給C++處理? 希望有這方面經驗的人可以分享一下這裡的坑 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.136.113.173 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1587182804.A.7D8.html
petercoin: 不一定要clr阿 04/18 13:11
我記得有限制啊? C#能直接使用普通的DLL嗎? ※ 編輯: eye5002003 (220.136.113.173 臺灣), 04/18/2020 15:17:51
james732: C#可以直接吃普通的DLL,詳見dllimport 04/18 16:55
Litfal: 可以的話不要混,很麻煩 04/19 02:39
我混起來確實有遇到麻煩 但是又無法完全只用C# ※ 編輯: eye5002003 (220.136.113.173 臺灣), 04/19/2020 20:36:44
Litfal: 只是工具的話我會用C#改寫,程式碼很多都能通。第三方dll 04/20 14:50
Litfal: 沒辦法才會用pinvoke 04/20 14:50
nigue: c#基礎型別,丟到用dll包好的c function不大會出什麼問題 04/30 20:06
nigue: c#的string就不大適合直接丟了 04/30 20:06
cspy: 走ipc不好嗎 07/11 11:07