Ist C ++ CLI ein Superset von C ++?
Frage
Würde ein C ++ CLI Compiler Lage sein, einige große Mengen von C ++ Klassen ohne Änderungen zu kompilieren?
Ist C ++ CLI ein Superset von C ++?
Lösung
technisch nicht, aber je nachdem, wie Standard der C ++ Code ist, werden Sie wahrscheinlich nur in Ordnung sein. wenn Sie in Windows Zeug können Sie auf Probleme stoßen. Ich kompilierte den gesamten Spiel-Engine wir bei der Arbeit in C ++ / CLI einmal und es funktionierte gut. Ein Kollege tat das gleiche für alle mozilla und nicht so viel Glück.
Andere Tipps
Nach Wikipedia :
C ++ / CLI als eigene Sprache gedacht (mit einem neuen Satz von Schlüsselwörtern, zum Beispiel) werden soll, anstelle der C ++ Obermenge orientierten Managed C ++
Ich bin noch neu mit meiner Lernkurve auf C ++ / CLI - aber ich habe die gleiche Frage selbst habe, und das, was ich bisher bestimmt ist, dass C ++ / CLI ist, als eine Sprache, eine Obermenge von Standard C ++.
Wenn Sie nicht über die CLI-Erweiterungen verwenden, Ihr C ++ Code wird als native unmanaged Code am Ende, und soll im Wesentlichen der gleiche, aber auf den CLR IL, statt nativen x86 kompiliert werden.
Wenn Sie die CLI-Erweiterungen beginnen (und starten Sie in die Verwendung von Objekten fallen / Griff / verwaltete Klassen), beginnen Sie mit der zugrunde liegenden CLR-Plattform interagieren stärker. An diesem Punkt wird es im Wesentlichen eine neue „Sprache“, und Sie werden Ihr Denken zwischen der „unmanaged“ Seite trennen und der „managed“ Seite müssen.
C ++ / CLI ist keine Obermenge von C ++. Es ist vielmehr eine Teilmenge mit Zusätzen. Z.B. C ++ / CLI nicht Mehrfachvererbung unterstützen.
Angelo
Seite 3 von Marcus Heege Buch 'Expert C ++ / CLI.NET für Visual C ++ Programmierer' heißt es:
C ++ / CLI ist eine Reihe von Erweiterungen vorgenommen die Sprache C ++ von der profitieren Dienstleistungen, die eine Umsetzung der CLI bietet.
Und weiter unten auf der gleichen Seite:
C ++ / CLI ist eine Obermenge der Programmiersprache C ++.
Sein ausgezeichnetes Buch ist kostenlos erhältlich von hier .
Ich war in der Lage ganze Qt-Bibliothek zu kompilieren (die sehr groß ist), wie C ++ / CLI mit minor Änderungen (vor allem in der Build-Umgebung, aber auch einen Fehler in Qt-Quellcode festgelegt)