[問題] C#與C++的互動有哪些陷阱?

作者: eye5002003 (下一夜)   2020-04-18 12:06:42
如題
個人對C++比較熟悉,也累積比較多工具在上面
想跟C#組合起來使用
但是發現限制不少
例如跟C#第一線接觸的dll必須是開啟CLR的C++專案
CLR又不支援C語言(但是能連上C語言編出來的dll,尚可接受)
然後吃到boost的標頭檔也會跳錯誤訊息出來
像std::printf之類的函式也噴不出訊息
我想知道還有多少限制存在?
是不是我最好dll封裝乾淨點別露出太多東西給那個CLR專案看到?
圖片處理是不是在C#這邊開unsafe用指標處理比較順手?
我看要傳去C++那邊處理好像挺費力的?
要用Marshal另外申請記憶體才能給C++處理?
希望有這方面經驗的人可以分享一下這裡的坑
感謝
作者: petercoin (彼得幣)   2020-04-18 13:11:00
不一定要clr阿
作者: james732 (好人超)   2020-04-18 16:55:00
C#可以直接吃普通的DLL,詳見dllimport
作者: Litfal (Litfal)   2020-04-19 02:39:00
可以的話不要混,很麻煩
作者: nigue (nigue)   2020-04-30 20:06:00
c#基礎型別,丟到用dll包好的c function不大會出什麼問題c#的string就不大適合直接丟了
作者: cspy (Perfect Stranger)   2020-07-11 11:07:00
走ipc不好嗎

Links booklink

Contact Us: admin [ a t ] ucptt.com