Neuerungen für MSVC-Buildtools

Version 14.51 bietet viele Updates und Fixes für den Microsoft C++-Compiler und andere Buildtools.

Neuerungen für MSVC Build Tools, Version 14.51

  • Eingeführt in Visual Studio 2026, Version 18.6, veröffentlicht Mai 2026.

Visual Studio 2026, Version 18.6, enthält das v145-Plattformtoolset für MSBuild C++-Projekte und Microsoft C++ (MSVC) Build Tools, Version 14.51. Um auf alle neuen Sprachfeatures zuzugreifen, erstellen Sie mit /std:c++latest. Wenn Sie auf Features bis C++23 beschränkt sein möchten, verwenden Sie /std:c++23preview.

MSVC Build Tools Version 14.51 behält binäre Kompatibilität mit Code bei, der mit MSVC-Tools erstellt wurde, die in Visual Studio 2015 oder höher ausgeliefert wurden. Weitere Informationen finden Sie unter C++-Binärkompatibilität zwischen Visual Studio-Versionen.

Ausführliche Informationen zu Siehe
Neuerungen für C++-Entwicklerinnen und -Entwickler MSVC Build Tools Version 14.51 Release Candidate jetzt verfügbar
Verbesserungen der Standardbibliothek (STL) STL Changelog MSVC Build Tools 14.51
Verbesserungen bei der C++-Sprachkonformität Verbesserungen der C/C++-Konformität, Verhaltensänderungen und Fehlerbehebungen in Microsoft C++ (MSVC) Buildtools

Hier ist eine kurze Hervorhebung einiger der neuen Features in MSVC Build Tools, Version 14.51:

C++-Sprachverbesserungen

  • Weitere C++23- und C++20-Features und Konformitätsproblembehebungen. Vollständige C++23-Details finden Sie unter C++23-Unterstützung in MSVC Build Tools 14.51.
  • Mehrere Korrekturen bei der Verarbeitung von consteval-Funktionen, einschließlich Unterstützung für constexpr new/delete in Modulen. Das /experimental:constevalVfuncVtable Verhalten ist jetzt standardmäßig aktiviert.
  • Unterstützung für Sprachmerkmale der Programmiersprache C hinzugefügt: den Qualifizierer _Atomic und __typeof__ für Funktionstypen.
  • Fehlerhafte Diagnosemeldungen bei flexiblen Array-Mitgliedern in C99 wurden behoben.
  • MSVC generiert jetzt IFC-Dateien gemäß Version 0.44 der IFC-Spezifikation.
  • Verbesserte Analysefehlerwiederherstellung.

C-Sprachverbesserungen

Unterstützung für _Atomic-Qualifizierer hinzugefügt und __typeof__-Unterstützung für Funktionstypen hinzugefügt. Der Fehler C4319 wurde beim Kompilieren von C-Code nicht ausgegeben.

Verbesserungen der Standardbibliothek

  • Neue C++23-Header hinzugefügt: <flat_map> (P0429R9) und <flat_set> (P1222R4).
  • Massive <regex> Überholung: Langfristige Korrekturen und Leistungsprobleme wurden behoben. Die Implementierung umfasst erhebliche Leistungsverbesserungen.
  • ARM64 NEON-Vektorisierung: Erste Version mit NEON-vektorisierten STL-Algorithmen für ARM64/ARM64EC. Bisher erhielten nur x64/x86 SIMD-Optimierungen mit SSE4.2 und AVX2. Vektorisierte Implementierungen sind jetzt für Algorithmen verfügbar, einschließlich swap_ranges(), rotate(), , reverse(), min_element(), max_element()find(), und count()mehr.
  • Es wurden 18 Problemlösungen der Library Working Group (LWG) implementiert, darunter Korrekturen für Überläufe bei der duration-Konvertierung, construct_at-Array-Unterstützung und optional-const-Überladungen.
  • Optimierte Ganzzahl-zu-Zeichenfolge-Konvertierungen durch Drucken von Ziffern in Paaren. Die Standardvorlagenbibliothek ist jetzt für Geschwindigkeit und nicht für die Größe optimiert.
  • Typeigenschaften hinzugefügt, um Verweise auf die Bindung an Temporärdateien (P2255R2) zu erkennen.
  • Explizite Unterstützung für die Lebensdauerverwaltung (P2590R2) hinzugefügt.
  • Erweiterte Debuggervisualisierungen, einschließlich einer c_str() intrinsischen Funktion für basic_string, die bedingte Haltepunkte ermöglicht.

Build-Optimierungen

  • Arm-SVE-Unterstützung: Erste Unterstützung für Arm Scalable Vector Extension (SVE) in MSVC, einschließlich Unterstützung von Frontend-Typen, Lowering von Intrinsics, Unwinding für Callee-saved-Register und Unterstützung für das DIA SDK.
  • Stichprobenbasiertes PGO: Vorschauunterstützung für stichprobenbasierte profilgesteuerte Optimierungen. Weitere Informationen finden Sie unter Verwenden von Sample Profile Guided Optimization (SPGO) zur Verbesserung der C++-Leistung.
  • Der C++-Backend-Optimierer verbessert die Codegenerierung, einschließlich besserem Inlining, Schleifenoptimierungen und Mustererkennung.
  • Experimentelle Unterstützung für x64-Unwind-Version-3-MASM-Direktiven. Weitere Informationen finden Sie unter Unwind-Direktiven der Version 3 (experimentell)
  • Intel APX Preview: Vorschauunterstützung für Intel Advanced Performance Extensions. Weitere Informationen finden Sie unter /feature (x64), [[msvc::enable(feature:APX)]]und [[msvc::disable(feature:APX)]].
  • Das Löschen von Debuginformationen wurde aktiviert, um PDB-Größen zu reduzieren.

Veraltete Funktionen

  • Die folgenden experimentellen Coroutine-Kopfzeilen sind jetzt veraltet: <experimental/coroutine>, , <experimental/generator>und <experimental/resumable>. Übergang zu C++20-Standard-Coroutines mithilfe des <coroutine> Headers.

Entfernte Features

Die folgenden veralteten, nicht standardmäßigen Features wurden entfernt:

  • TR1 einschließlich des Namensraums std::tr1, alter array::assign()- und alter <random>-Engines und -Distributionen. Veraltet seit VS 2017 15.5 (Dezember 2017).
  • _ALLOW_RTCc_IN_STL Makro wurde entfernt. Die Standard Template Library unterstützt die Compiler-Option /RTCc nicht, aber /RTCs und /RTCu//RTC1 werden weiterhin unterstützt.
  • <hash_map> und <hash_set>. Veraltet seit VS 2015 (Juli 2015).
  • <experimental/filesystem>. Seit VS 2019 16.3 (September 2019) veraltet.
  • stdext::checked_array_iterator und stdext::unchecked_array_iterator. Veraltet seit VS 2022 17.8 (November 2023) für C++17 und höher.
  • basic_istream::ipfx() / isfx() und basic_ostream::opfx()/osfx(). Veraltet seit VS 2022 17.9 (Februar 2024) für C++17 und höher.
  • locale::empty(). Veraltet seit VS 2022 17.14 (Mai 2025).

Neuerungen für MSVC Build Tools, Version 14.50

  • Eingeführt in Visual Studio 2026, Version 18.0, veröffentlicht November 2025.

Visual Studio 2026, Version 18.0, wird ausgeliefert mit dem v145-Plattformtoolset für MSBuild C++-Projekte und Microsoft C++ (MSVC) Build Tools, Version 14.50. Diese bieten die bisher beste Konformität sowie hervorragende Build- und Laufzeit-Performance. Um auf alle neuen Sprachfeatures zuzugreifen, erstellen Sie mit /std:c++latest. Wenn Sie auf Features bis C++23 beschränkt sein möchten, verwenden Sie /std:c++23preview.

MSVC Build Tools, Version 14.50, behält binäre Kompatibilität mit Code bei, der mit MSVC-Tools erstellt wurde, die in Visual Studio 2015 oder höher ausgeliefert wurden. Weitere Informationen finden Sie unter C++-Binärkompatibilität zwischen Visual Studio-Versionen.

Ausführliche Informationen zu Siehe
Neuerungen für C++-Entwicklerinnen und -Entwickler Neuerungen für C++-Entwickler in Visual Studio 2026, Version 18.0
Verbesserungen der C++-Standardbibliothek (STL) STL Changelog MSVC Build Tools 14.50
C++-Sprachaktualisierungen C++-Sprachupdates in MSVC Buildtools v14.50
Verbesserungen bei der C++-Sprachkonformität Verbesserungen der C/C++-Konformität, Verhaltensänderungen und Fehlerbehebungen in Microsoft C++ (MSVC) Buildtools

Hier ist eine schnelle Hervorhebung einiger der neuen Features in MSVC Build Tools, Version 14.50 und Visual Studio 2026, Version 18.0:

C++-Sprachverbesserungen

  • C++20 ist die Standardeinstellung für neue Konsolen-, Windows-Desktopanwendungs-, Dynamic-Link Library- und Static Library C++-Projekte.
  • Mit der C++23-Präprozessor-Direktive #warning können Sie eine Diagnosemeldung erzeugen, ohne die Übersetzung zu unterbrechen, wie es bei #error der Fall ist. Weitere Informationen finden Sie unter #warning Direktive.
  • Einfaches Einstellen von Befehlszeilenargumenten für Debugger bei allen C++-Projekten mithilfe der Symbolleiste, beispielsweise für .vcxproj, CMake- und Unreal Engine-Projekte. Dieses Feature ist nicht mehr an die Spieleentwicklung mit C++-Workload gebunden und steht allen C++-Entwicklern zur Verfügung, ohne andere Workloads oder Komponenten zu installieren. Weitere Informationen finden Sie unter Übergeben von Befehlszeilenargumenten.

Verbesserungen der Standardbibliothek

  • Verbesserte <regex> Zuverlässigkeit und Geschwindigkeit. LWG-2503 hat eine mehrzeilige Option zu syntax_option_type hinzugefügt. Dies ist eine regex Verhaltensänderung. Standardmäßig ist _REGEX_LEGACY_MULTILINE_MODE 0, was das Standardverhalten anfordert. Legen Sie _REGEX_LEGACY_MULTILINE_MODE auf 1 fest, um das Legacyverhalten anzufordern. Weitere Informationen finden Sie unter STL Changelog.
  • Es wurden vektorisierte Implementierungen vieler Typen und Funktionen hinzugefügt und verbessert.

GitHub Copilot-Verbesserungen

  • Mit Copilot Chat können Sie natürliche Sprache verwenden, um Antworten auf Fragen (Ask Mode) zu erhalten oder sogar Änderungen für Sie automatisch (Agent-Modus) zu implementieren.
  • Copilot Chat ist intelligenter mit verbessertem Kontext für alltägliche Aufgaben. Erwarten Sie bessere Ergebnisse beim Durchsuchen Ihrer Code-Basis und beim Referenzieren von spezifischen Zeilen in Ihrem Code.
  • Dem Kontextmenü im Visual Studio-Editor wurde eine Option für "Copilot-Aktionen" hinzugefügt. Verwenden Sie dieses Tool, um schnell eine bestimmte Datei oder Codezeilen, die Sie ausgewählt haben, für Copilot Chat hervorzuheben. Anschließend können Sie Copilot bitten, zu erklären, was der Code tut, Optimierungen zu erstellen, Kommentare zu generieren, Komponententests zu generieren und vieles mehr.
  • Bessere KI-Codeabschlusse für C++. GitHub Copilot verwendet Kontext aus relevanten Dateien, um die Inline-Autovervollständigung für C++ zu verbessern. GitHub Copilot enthält andere relevante Dateien als Kontext, wodurch Halluzinationen reduziert und relevantere und präzisere Vorschläge angeboten werden.
  • Weitere Informationen finden Sie unter "Neue GitHub Copilot"-Funktionen für C++-Entwickler: Aktualisieren von MSVC, Verbessern der Buildleistung und Umgestaltung von C++-Code.

Build-Optimierungen

  • Visual Studio 2026 enthält jetzt standardmäßig CMake 4.1.1. CMake enthält auch einen Visual Studio 2026-Generator und unterstützt moderne SLNX-Projekte, sodass Sie Visual Studio C++-Projekte direkt aus CMake erstellen können.
  • Enthält die neueste Version des IncrediBuild-Moduls und eine aktualisierte Erweiterung, die mit Visual Studio 2026, Version 18.0, funktioniert.
  • Verbesserungen der Compiler-Back-End-Laufzeitleistung. Im Vergleich zu Visual Studio Version 17.14 gibt es bis zu 6% Verbesserung bei Unreal Engine's City Sample RenderThread und bis zu 3% Verbesserung beim City Sample GameThread von Unreal Engine. Weitere Informationen finden Sie unter "Gründe für das Upgrade Ihrer C++-Buildtools".
  • Der Visual Studio-Setup-Assistent kann Ihnen helfen, Ihre Projekte für den Aufbau mit den neuesten MSVC-Buildtools neu zu konfigurieren. Weitere Informationen finden Sie unter Projekte mit dem Einrichtungsassistenten neu ausrichten.

Verbesserungen bei der Codeanalyse

  • Clang-Tidy Verbesserungen der Codeanalyse bieten erweiterte Konfigurationsoptionen für schnellere Builds und benutzerdefinierte Workflows:
    • Die Codeanalyse verfügt über neue Konfigurationsoptionen. Sie können nun mehr Prozessoren für die Codeanalyse im Rahmen Ihres Build-Prozesses zuweisen und so Ihren Entwicklungsablauf beschleunigen.
    • Sie können der Befehlszeile, die zum Aufrufen clang-tidyverwendet wird, benutzerdefinierte Argumente hinzufügen, sodass Sie die vollständige Kontrolle über das Analysesetup erhalten.
    • Greifen Sie auf die neuen Optionen von Project Properties>Code Analysis>Clang-Tidy zu:

Screenshot des Dialogfelds „Projekteigenschaften“ mit clang-tidy-Konfigurationsoptionen, einschließlich Prozessorzuordnung und benutzerdefinierten Befehlszeilenargumenten

  • AddressSanitizer-Unterstützung für ARM64-Builds (Vorschau): Seit einiger Zeit unterstützte die MSVC-Buildtools das Erstellen von Projekten, die auf x64 und x86 mit AddressSanitizer abzielen, wodurch Sie schwer zu findende Speichersicherheitsprobleme mit null falsch positiven Ergebnissen zur Laufzeit identifizieren und die Speichersicherheit erhöhen können. Jetzt können Sie AddressSanitizer verwenden, um ARM64 als Ziel zu verwenden. Dieses Feature befindet sich in der Vorschau.

Produktivitätsverbesserungen

  • Generieren Sie eine vorverarbeitete Ausgabe für eine C++-Datei. Klicken Sie in Visual Studio mit der rechten Maustaste auf eine C++-Datei, um sofort ihre vorverarbeitete Ausgabe zu generieren, wodurch das Debuggen von makros und Includes vereinfacht wird und Fehler sofort angezeigt werden: Screenshot mit dem Kontextmenü für eine C++-Datei mit der hervorgehobenen Vorverarbeitungsoption.
  • Der Debugger in Visual Studio zeigt jetzt die Rückgabewerte von Funktionen direkt an. Dies bietet Echtzeit-Einblicke in das Funktionsverhalten, ohne in Code zu treten oder Überwachungen einzurichten, sodass es schneller ist, logische Probleme oder unerwartete Ergebnisse abzufangen: Screenshot mit inline-Post-Return-Werten, die im Debugger neben dem Funktionsaufruf angezeigt werden.

Andere Änderungen

  • Im Visual Studio-Installationsprogramm wird die C++-Linux-Workload in Linux, Mac und eingebettete Entwicklung mit C++ umbenannt.

Veraltete Funktionen

  • Die mindestens unterstützten Zielbetriebssysteme für die MSVC Build Tools Version 14.50 sind Windows 10 oder Windows Server 2016.

  • MSVC Build Tools, Version 14.50, zielt nicht mehr auf Folgendes ab:

    • Windows 7 / Windows Server 2008 R2
    • Windows 8/ Windows Server 2012
    • Windows 8.1 / Windows Server 2012 R2

    Diese Änderungen ermöglichen eine bessere Leistung, verbesserte Sicherheit und Ausrichtung auf die neuesten Windows-Plattformfunktionen.

Der MSVC-Compilerswitch /await ist veraltet und wird in einer zukünftigen Version entfernt. Dieser Switch ermöglichte eine frühe Entwurfsimplementierung von C++-Coroutines mithilfe des <experimental/coroutine> Headers. Entwickler sollten mit dem <coroutine> in C++20 und höher verfügbaren Header auf C++-Standard-Coroutines umsteigen. Verwenden Sie /await:strict für C++14/17-Projekte (die nicht veraltet sind), um auf den Standardheader <coroutine> zuzugreifen, ohne andere C++20-Features zu aktivieren.

Die mobile Entwicklung mit C++-Workload für iOS und Android sowie die Embedded- und IoT-Tools (RTOS Viewer, Serial Monitor, Peripheral Viewer und ST Project Import) werden nicht mehr unterstützt und werden in einem zukünftigen Update entfernt. Die Android-NDKs, die in der Mobilen Entwicklung mit C++-Workload enthalten sind, werden weiterhin unterstützt. Dies wirkt sich auf die Toolunterstützung für die iOS- und Android-Entwicklung aus, einschließlich neuer Projekte, Erstellung und Debugging.

Entfernte Features

Feedback und Vorschläge

Wir würden uns freuen, von Ihnen zu hören! Sie können ein Problem melden oder ein Feature vorschlagen, indem Sie das Symbol „Feedback senden“ in der oberen rechten Ecke des Installationsprogramms oder der Visual Studio-IDE nutzen oder Hilfe>Feedback senden verwenden. Sie können Ihre Probleme in der Visual Studio-Entwicklercommunity nachverfolgen, in der Sie Kommentare hinzufügen und Lösungen suchen können. Über unseren Livechatsupport erhalten Sie zudem kostenlose Hilfe bei der Installation.

Bloggen

Bleiben Sie auf dem laufenden über alle neuen Versionen, indem Sie die Einblicke und Empfehlungen nutzen, die auf Microsoft Developer Blogs verfügbar sind. Die Blogs enthalten spezialisierte Beiträge zu einer Vielzahl von Features.

Die Bereiche C++ Team Blog und Visual Studio Blog sind von besonderem Interesse.