我正在調用LoadTypeLib來加載C++/CLI中的非託管類型庫。我需要將一些代碼區域編譯爲託管代碼區域,將一些代碼區域編譯爲非託管(本地),並將混合模式類庫構建爲可執行文件。如何將C++/CLI代碼的某些部分編譯爲本機,並將某些部分編譯爲託管?
我需要管理哪些部分和非託管(本機)分別編譯爲託管和本地?
我正在調用LoadTypeLib來加載C++/CLI中的非託管類型庫。我需要將一些代碼區域編譯爲託管代碼區域,將一些代碼區域編譯爲非託管(本地),並將混合模式類庫構建爲可執行文件。如何將C++/CLI代碼的某些部分編譯爲本機,並將某些部分編譯爲託管?
我需要管理哪些部分和非託管(本機)分別編譯爲託管和本地?
儘量使用#pragma managed
與推動和開/關,然後彈出,#pragma unmanaged
還算是無用的。
不要使用#pragma託管 - 它被認爲是「邪惡」,並可能導致DLL init/shutdown問題。
我會建議明確編譯一些文件作爲託管(/ clr),一些作爲本機(不包括/ clr)。你也可以有兩個預編譯頭文件 - 一個用於管理,一個用於本機。