Saf ve doğrulanabilir kod (C++/CLI)
.NET Programlama için, Visual Studio 2017'deki Visual C++, /clr (Ortak Dil Çalışma Zamanı Derlemesi) derleyici seçeneğini kullanarak karma derlemelerin oluşturulmasını destekler. /clr:pure ve clr:safe seçenekleri Visual Studio 2015'te kullanım dışıdır ve Visual Studio 2017'de desteklenmez. Kodunuzun güvenli veya doğrulanabilir olması gerekiyorsa, bunu C# adresine taşımanızı öneririz.
Karışık (/clr)
Karma derlemeler (/clr ile derlenmiş), hem yönetilmeyen hem de yönetilen parçalar içerir, böylece .NET özelliklerini kullanmalarına olanak sağlar, ancak yine de yerel kod içerir. Bu, tüm projenin yeniden yazılmasını gerektirmeden uygulamaların ve bileşenlerin .NET özelliklerini kullanacak şekilde güncelleştirilmesini sağlar. Yönetilen ve yerel kodu bu şekilde karıştırmak için Visual C++ kullanmak C++ Birlikte Çalışma olarak adlandırılır. Daha fazla bilgi için bkz . Karma (Yerel ve Yönetilen) Derlemeler ve Yerel ve .NET Birlikte Çalışabilirliği.
P/Invoke aracılığıyla yönetilen derlemelerden yerel DLL'lere yapılan çağrılar derlenir, ancak güvenlik ayarlarına bağlı olarak çalışma zamanında başarısız olabilir.
Derleyiciyi geçirecek ancak doğrulanamayan bir derlemeyle sonuçlanacak bir kodlama senaryosu vardır: kapsam çözümleme işlecini kullanarak bir nesne örneği aracılığıyla bir sanal işlevi çağırma. Örneğin: MyObj -> A::VirtualFunction();
.