共用方式為


純與可驗證的程式代碼 (C++/CLI)

針對 .NET 程序設計,Visual Studio 2017 中的 Visual C++ 支援使用 /clr (Common Language Runtime Compilation) 編譯程式選項建立混合元件。 Visual Studio 2015 中已淘汰 /clr:pureclr:safe 選項,Visual Studio 2017 不支援。 如果您的程式代碼必須安全或可驗證,建議您將其移植到 C#。

混合 (/clr)

混合元件(以 /clr 編譯),同時包含 Unmanaged 和 Managed 元件,讓它們能夠使用 .NET 功能,但仍包含機器碼。 這可讓應用程式和元件更新為使用 .NET 功能,而不需要重寫整個專案。 使用 Visual C++以這種方式混合 Managed 和機器碼,稱為 C++ Interop。 如需詳細資訊,請參閱 混合式(原生和 Managed)元件原生和 .NET 互操作性

透過 P/Invoke 從 Managed 元件到原生 DLL 的呼叫將會編譯,但可能會根據安全性設定在運行時間失敗。

有一個程式代碼撰寫案例會傳遞編譯程式,但會導致無法驗證的元件:使用範圍解析運算符透過物件實例呼叫虛擬函式。 例如: MyObj -> A::VirtualFunction();

另請參閱