Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Aktualisiert: November 2007
In diesem Thema werden die neuen Features des Visual C++ 2005-Compilers aufgelistet.
Hinweis: |
|---|
Der Visual C++-Compiler kann nur unter folgenden Betriebssystemen ausgeführt werden: Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003. |
Hinweise
Der Visual C++ 2005-Compiler enthält folgende neue Features:
Der Compiler wurde in dieser Version grundlegend geändert. Weitere Informationen finden Sie unter Wichtige Änderungen im Visual C++ 2005-Compiler.
Systemeigener 64-Bit-Compiler und 64-Bit-Cross-Compiler. Weitere Informationen finden Sie unter Compileroptionen und x64-Softwarekonventionen.
Die Compileroption /analyze (Codeanalyse in der Enterprise-Version) wurde hinzugefügt.
Die Compileroption /bigobj wurde hinzugefügt.
/clr:pure, /clr:safe und /clr:oldSyntax wurden hinzugefügt. Weitere Informationen finden Sie unter /clr (Common Language Runtime-Kompilierung).
Veraltete Compileroptionen: Viele Compileroptionen wurden in dieser Version als veraltet eingestuft. Weitere Informationen finden Sie unter Veraltete Compileroptionen in Visual C++ 2005.
Doppeltes Thunking in /clr-Code wurde reduziert. Weitere Informationen finden Sie unter Doppeltes Thunking (C++).
/EH (Ausnahmebehandlungsmodell) und /EHs können nicht mehr zum Abfangen einer Ausnahme verwendet werden, die von einer anderen als einer throw-Anweisung ausgelöst wurde. Verwenden Sie dazu /EHa.
Die Compileroption /errorReport (Meldung über interne Compilerfehler) wurde hinzugefügt.
Die Compileroption /favor (Optimieren für x64) wurde hinzugefügt.
Die Compileroption /FA, /Fa (Listendatei) wurde hinzugefügt.
Die Compileroption /FC (Vollständiger Pfad der Quellcodedatei in Diagnostik) wurde hinzugefügt.
Die Compileroption /fp (Festlegen des Gleitkommaverhaltens) wurde hinzugefügt.
Die Compileroption /G (Optionen zum Optimieren für Prozessoren) wurde hinzugefügt.
Die Compileroption /G (Optionen zum Optimieren für Prozessoren) wurde hinzugefügt.
Die Compileroptionen /G3, /G4, /G5, /G6, /G7 und /GB wurden entfernt. Der Compiler verwendet jetzt ein "gemischtes Modell". Dieses versucht, eine Ausgabedatei zu erstellen, die für alle Architekturen ideal geeignet ist.
/Gf wurde entfernt. Stattdessen sollte /GF (Doppelte Zeichenfolgen beseitigen) verwendet werden.
/GL (Optimierung des ganzen Programms) ist jetzt mit /CLRHEADER kompatibel. Weitere Informationen finden Sie unter /LTCG (Code zur Verknüpfungszeit generieren).
/GR ist jetzt standardmäßig aktiviert. Weitere Informationen finden Sie unter /GR (Laufzeit-Typeninformation aktivieren).
/GS (Puffer-Sicherheitsüberprüfung) bietet jetzt einen Sicherheitsschutz für leicht anzugreifende Zeigerparameter. /GS ist jetzt standardmäßig aktiviert. /GS funktioniert jetzt auch bei Funktionen, die mit /clr (Common Language Runtime-Kompilierung) in MSIL kompiliert wurden.
Die Compileroption /homeparams (Registerparameter in den Stapel kopieren) wurde hinzugefügt.
Die Compileroption /hotpatch (Erstellen eines Hotpatch-fähigen Abbildes) wurde hinzugefügt.
Die Inlinefunktionsheuristik wurde aktualisiert. Weitere Informationen finden Sie unter inline, __inline, __forceinline und inline_depth.
Es wurden viele neue systeminterne Funktionen hinzugefügt. Viele bisher nicht dokumentierte systeminterne Komponenten sind jetzt dokumentiert. Weitere Informationen finden Sie unter Alphabetical Listing of Intrinsic Functions.
Standardmäßig löst jeder gescheiterte Aufruf von new eine Ausnahme aus. Weitere Informationen finden Sie unter The new and delete Operators.
Die Compileroptionen /ML und /MLd wurden entfernt. Visual C++ unterstützt statisch gelinkte CRT-Bibliotheksunterstützung in einem Thread nicht mehr. Weitere Informationen finden Sie unter C Run-Time Libraries.
Die Optimierung des benannten Rückgabewerts wurde im Compiler implementiert. Sie wird beim Kompilieren mit /O1, /O2 (Größe minimieren, Geschwindigkeit maximieren), /Og (Globale Optimierungen) und /Ox (Komplette Optimierung) aktiviert.
Die Compileroption /Oa wurde entfernt. Sie wird jedoch ohne Ausgabe einer Meldung ignoriert. Verwenden Sie die __declspec-Modifizierer noalias oder restrict, um anzugeben, wie der Compiler das Aliasing durchführen soll.
Die Compileroption /Op wurde entfernt. Stattdessen sollte /fp (Festlegen des Gleitkommaverhaltens) verwendet werden.
OpenMP wird jetzt von Visual C++ unterstützt. Weitere Informationen finden Sie unter OpenMP in Visual C++.
Die Compileroption /openmp (Aktivieren der OpenMP 2.0-Unterstützung) wurde hinzugefügt.
Die Compileroption /Ow wurde entfernt. Sie wird jedoch ohne Ausgabe einer Meldung ignoriert. Verwenden Sie die __declspec-Modifizierer noalias oder restrict, um anzugeben, wie der Compiler das Aliasing durchführt.
/QI0f wurde entfernt.
/QIfdiv wurde entfernt.
Die Compileroption /QIPF_B (Errata für B-CPU-Stepping) wurde hinzugefügt.
Die Compileroption /QIPF_C (Errata für C-CPU-Stepping) wurde hinzugefügt.
Die Compileroption /QIPF_fr32 (Obere 96 Gleitkommaregister nicht verwenden) wurde hinzugefügt.
Die Compileroption /QIPF_noPIC (Erzeugen von positionsabhängigem Code) wurde hinzugefügt.
Die Compileroption /QIPF_restrict_plabels (Annahme, dass keine Funktionen während der Laufzeit erstellt werden) wurde hinzugefügt.
Mit /vd (Konstruktionsverschiebungen deaktivieren) können Sie nun den dynamic_cast Operator für ein zu erstellendes Objekt verwenden (/vd2).
Die Compileroption /YX wurde entfernt. Verwenden Sie stattdessen /Yc (Datei der vorkompilierten Header erstellen) oder /Yu (Vorkompilierte Headerdatei verwenden). Wenn Sie /YX aus der Buildkonfiguration entfernen, ohne es zu ersetzen, läuft der Buildvorgang möglicherweise schneller ab.
/Zc:forScope ist jetzt standardmäßig aktiviert. Weitere Informationen finden Sie unter /Zc:forScope (Übereinstimmung in for-Schleifenbereich erzwingen).
/Zc:wchar_t ist jetzt standardmäßig aktiviert. Weitere Informationen finden Sie unter /Zc:wchar_t (wchar_t ist der systemeigene Typ).
Die Compileroption /Zd wurde entfernt. Nur aus der Zeilennummer bestehende Debuginformationen werden nicht mehr unterstützt. Verwenden Sie stattdessen /Zi. (Weitere Informationen finden Sie unter /Z7, /Zi, /ZI (Debuginformationsformat).)
/Zg ist jetzt nur für C-Quellcodedateien gültig, jedoch nicht für C++-Quellcodedateien. Weitere Informationen finden Sie unter /Zg (Funktionsprototypen generieren).
Die Compileroption /Zx (Debuggen von optimiertem Itanium-Code) wurde hinzugefügt.
Siehe auch
Konzepte
Änderungen beim Compiler, bei der Sprache und bei den Tools von Visual C++ 2005
Hinweis: