在mfc中呼叫c# dll主要有兩種方式:
1. 將mfc 工程編譯為支援clr,這樣就可以直接呼叫c# dll
2. 將c# dll做成com
現在主要講第一種方法,如果原有mfc工程非常龐大,不能編譯 /clr時應該怎麼辦?此時可新建乙個類用來封裝c# dll,然後單獨對這個類 編譯
為/clr 。如:
新建cinterop類,檔名為interop.h 和interop.cpp ,選中interop.cpp ,右鍵->屬性->c/c++ ,選擇公共語言執行庫支援(/clr),除錯資訊格式
為/zi。不使用預編譯頭,啟用c++ 異常為/eha。
在cinterop中引用c#dll,增加乙個函式test,裡面呼叫c#dll中的方法。然後mfc中呼叫cinterop中的test函式實現呼叫c#dll。
使用此方法可以將一些對效能要求不高的模組用c#來實現,提高開發效率。
CLR與MFC混合程式設計
clr是common language runtime的縮寫,它是.net公共語言執行庫。mfc是微軟的基本類庫,用於使用visual c 開發環境建立本地應用程式。顧名思義,clr具有跨平台 跨語言的特性,各種語言都可以使用clr開發.net平台上應用程式。自然,本地應用程式也可以享受clr的豐富...
Qt與MFC混合程式設計
文章參考實測確實有效 最近本猿搞乙個mfc和qt混合程式設計的東西,經常出現這樣的錯誤 program files x86 microsoft visual studio 14.0 vc atlmfc include atlbase.3210 parse error at identifier 查了...
c與c 混合程式設計
在純c的系統中使用c 的類出現了編譯錯誤!程式 begin mymain.c include thesocket.h void main int argc,char argv end mymain.c begin thesocket.h class thesocket end thesocket.h...