[問題] vector如何包成dll傳給C#調用

作者: su27 (su27)   2020-10-05 00:05:06
開發平台(Platform): (Ex: Win10, Linux, ...)
win10
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
vs2017
請問一下 我在vc++用vector儲存數據
想將它包裝成dll 給C#使用
請問一下 C#該如何寫
我最需要的功能是如
vector<vector>> Point_List
或是有其他可達成我要的目的 的功能
謝謝
作者: Dforce (VF-17)   2020-10-05 10:00:00
CX C++
作者: JiunPTT (止於至善)   2020-10-08 15:16:00
即使C++ call你的dll,也不建議你dll外層api使用vector當參數, 原因在於每版vc對STL的定義不相同
作者: Killercat (殺人貓™)   2020-10-14 13:18:00
比較建議弄成原生陣列出去 問題會少一點不過VC基本上STL應該都有固定interface了 除非真的太老否則應該不太會撞到STL定義的問題弄原生陣列也不難 std::vector::data()轉一手而已阿,不過剛好data()就是JiunPTT提到的例子之一,這個是直到C++03開始的STL才是正式標準 希望你code不會太老

Links booklink

Contact Us: admin [ a t ] ucptt.com