我已經被委託編寫一個新的接口到一個傳統的C++ DLL我沒有源代碼,這是 - 由於我以外的原因 - 訪問遺留下的全局類直接應用。從C++ DLL訪問C#靜態類
從應用程序,它是這樣的:
extern Interface *App;
...
Interface App*; // A pointer to our interface class.
然後,從傳統的DLL:
if(App->GetStatus()) return false;
接口類應用程序是指是相當瑣碎的C#改寫,但如何我可以使它相當於extern
,以便傳統的C++ DLL可以訪問它嗎?
謝謝!
你不會得到很遠,這個只要你寫'接口應用*,理解指針對於獲取某個地方非常重要。從C++調用C#代碼需要首先加載CLR。有許多方法以錯誤的方式做到這一點,即以「簡單」的方式開始。在C++中使用#import指令是一個正確的方法。教育自己,向你的主管詢問你需要的資源。 – 2015-03-30 23:00:04
請記住,海報表示他無法訪問C++源代碼,因此加載CLR可能會造成問題... – 2015-04-01 13:38:48