[問題] C# 使用 C++ dll

看板C_Sharp作者 (飄蕩者)時間18年前 (2007/12/14 16:56), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
因為我對C#不熟,目前我遇到的情況是,要用C#去接一個 C++的dll(含MFC),經google後,我的作法是: *dll* extern "C" __declspec(dllexport) int add(int x,int y) { classname myclass; return myclass.add(x,y); } *C#* [DllImport("RegularDll.dll", CharSet = CharSet.Auto)] public static extern int add(int x,int y); 但是這樣每一次呼叫 add()時,就需要重新再做一個classname的物件 ,而我在我寫的dll裡面,有一部份需要讀檔然後計算完建成一張表, 然後可以做查表的功能(需要計算不短的時間),所以變成我每次呼叫一 次add(),就需要重新計算一次來建表(這樣就失去了查表的意義了Orz) 請問,C#有像c++可以讀取直接導出class的作法嗎? 像 *export.h* class __declspec(dllexport) classname; *import.h* class __declspec(dllimport) classname; 這樣在cpp裡就可以直接用 classname來創造物件。 C#有類似的作法嗎? 或者有其他方法可以保留dll裡的class的member資料? -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.228.236.56

12/14 17:01, , 1F
DllImport ?
12/14 17:01, 1F
文章代碼(AID): #17OaLQzO (C_Sharp)