看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, Gcc, Linux, ...) Visual Studio 2008 問題(Question): 小弟之前在c++上面寫了許多程式 之前是拿去QT上面使用 所以沒有語言上不通的問題 現在想要把C++的程式搬到c#上面使用 不知道C++的程式是否能包成類似 dll或lib檔讓c#讀取呢 小弟有試著寫了簡單dll檔,不過從c#讀取的時候卻讀不進來 我寫的是 c++ mfc 常規dll(動態) 實在是找不到相關的書 網路上的資源感覺又找不太到 在上面這邊請各位大大幫幫忙了 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.124.72.152
dk3208:1. 寫成COM 2.改用c++/cli 3.platform invoke 4.其他? 01/02 18:00
layan:4. 用 SWIG 幫你把 C++ 轉成 C# 介面. 01/02 18:04
嗯…強者真多 那請問一下用什麼方法會比較快呢? c++的程式大約有兩千~三千行左右.... ※ 編輯: kf185793 來自: 140.124.72.152 (01/02 18:08)
dk3208:3會比較快,不過MFC的dll不確定可不可以 01/02 20:35
dk3208:不行的話可以寫一個win32的dll來forward MFC裡面的API給C# 01/02 20:37
layan:C++程式多不是重點吧, 重點在你要開多少的介面給 C# 用 01/02 22:17
layan:用swig可以幫你把C++class或全域func產生出C#的檔案 01/02 22:19
layan:而你的C++程式則會變成一個 dll 檔. 01/02 22:19
layan:而你C#程式部份只要 import 那個產生出來的C# wrapper檔 01/02 22:20
layan:剩下的就是直接用它把他當成是一個C#的 assembly 而已 01/02 22:20
嗯 我想說給個大概程式碼的行數 有助於方法的選擇 哪一個比較快 並無惡意 我會試試看你們的方法 謝謝你們 如果我有問題 我在提問 ※ 編輯: kf185793 來自: 140.124.72.152 (01/02 22:38)