Czysty i weryfikowalny kod (C++/CLI)

W przypadku programowania .NET program Visual C++ w programie Visual Studio 2017 obsługuje tworzenie zestawów mieszanych przy użyciu opcji kompilatora /clr (kompilacja środowiska uruchomieniowego języka wspólnego). Opcje /clr:pure i clr:safe są przestarzałe w programie Visual Studio 2015 i nieobsługiwane w programie Visual Studio 2017. Jeśli kod musi być bezpieczny lub weryfikowalny, zalecamy przenoszenie go do języka C#.

Mieszane (/clr)

Zestawy mieszane (skompilowane za pomocą /clr) zawierają zarówno niezarządzane, jak i zarządzane części, co umożliwia im korzystanie z funkcji platformy .NET, ale nadal zawiera kod macierzysty. Umożliwia to aktualizowanie aplikacji i składników w celu korzystania z funkcji platformy .NET bez konieczności ponownego pisania całego projektu. Używanie języka Visual C++ do łączenia kodu zarządzanego i natywnego w ten sposób jest nazywane międzyoperacyjnością języka C++. Aby uzyskać więcej informacji, zobacz Zestawy mieszane (natywne i zarządzane) oraz Współdziałanie natywne i .NET.

Wywołania wykonywane z zestawów zarządzanych do natywnych bibliotek DLL za pośrednictwem protokołu P/Invoke będą kompilowane, ale mogą zakończyć się niepowodzeniem w czasie wykonywania w zależności od ustawień zabezpieczeń.

Istnieje jeden scenariusz kodowania, który przekaże kompilator, ale spowoduje to niezweryfikowalny zestaw: wywołanie funkcji wirtualnej za pośrednictwem wystąpienia obiektu przy użyciu operatora rozpoznawania zakresu. Na przykład: MyObj -> A::VirtualFunction();.

Zobacz też