Reiner und nachweisbarer Code (C++/CLI)

Für .NET Programming unterstützt Visual C++ in Visual Studio 2017 die Erstellung gemischter Assemblys mithilfe der Compileroption /clr (Common Language Runtime Compilation). Die Optionen "/clr:pure " und "clr:safe " sind in Visual Studio 2015 veraltet und werden in Visual Studio 2017 nicht unterstützt. Wenn Ihr Code sicher oder überprüfbar sein muss, empfehlen wir, ihn zu C# zu portieren.

Gemischt (/clr)

Gemischte Assemblys (kompiliert mit /clr), enthalten sowohl nicht verwaltete als auch verwaltete Teile, sodass sie .NET-Features verwenden können, aber weiterhin nativen Code enthalten. Dadurch können Anwendungen und Komponenten für die Verwendung von .NET-Funktionen aktualisiert werden, ohne dass das gesamte Projekt neu geschrieben werden muss. Die Verwendung von Visual C++ zum Kombinieren von verwaltetem und systemeigenem Code in dieser Weise wird als C++-Interop bezeichnet. Weitere Informationen finden Sie unter Gemischte (systemeigene und verwaltete) Assemblys sowie native und .NET-Interoperabilität.

Aufrufe von verwalteten Assemblys an systemeigene DLLs über P/Invoke werden kompiliert, können jedoch je nach Sicherheitseinstellungen zur Laufzeit fehlschlagen.

Es gibt eine Codekonstellation, die kompiliert wird, obwohl dies eine unüberprüfbare Assembly zu Folge hat: Aufruf einer virtuellen Funktion durch eine Objektinstanz mit dem Bereichsauflösungsoperator. Beispiel: MyObj -> A::VirtualFunction();

Siehe auch