Teilen über


C/C++-Eigenschaften (Linux C++)

Die Unterstützung für Linux ist in Visual Studio 2017 und höher verfügbar.

Allgemein

Eigenschaft BESCHREIBUNG Auswahl
Zusätzliche Includeverzeichnisse Gibt mindestens ein Verzeichnis an, das dem Includepfad hinzugefügt werden soll. Verwenden Sie Semikolons, um mehrere Verzeichnisse zu trennen. (-I[path]).
Debuginformationsformat Gibt den Typ der Debuginformationen an, die vom Compiler generiert werden. Keine: Generiert keine Debuginformationen, sodass die Kompilierung ggf. schneller erfolgt.
Minimale Debuginformationen: Generiert minimale Debuginformationen.
Vollständige Debugging-Informationen(DWARF2): Generiert DWARF2-Debuginformationen.
Name der Objektdatei Gibt einen Namen an, der den Standardobjektdateinamen überschreibt. Dabei kann es sich um einen Datei- oder Verzeichnisnamen handeln. (-o [name]).
Warnstufe Wählt aus, wie streng der Compiler bei Codefehlern sein soll. Fügen Sie andere Flags direkt zu den zusätzlichen Optionen hinzu. (/w, /Weverything). Alle Warnungen deaktivieren: Deaktiviert alle Compilerwarnungen.
EnableAllWarnings: Aktiviert alle Warnungen, einschließlich standardmäßig deaktivierter Warnungen.
Warnungen als Fehler behandeln Behandelt alle Compilerwarnungen als Fehler. Bei einem neuen Projekt ist es empfehlenswert, /Werror in allen Kompilierungen zu verwenden. Alle Warnungen werden aufgelöst, um schwer zu findende Codefehler auf einem Minimum zu halten.
Zusätzliche Warnungen für C Definiert eine Sammlung zusätzlicher Warnmeldungen.
Zusätzliche Warnungen für C++ Definiert eine Sammlung zusätzlicher Warnmeldungen.
Ausführlichen Modus aktivieren Gibt weitere Informationen zur Diagnose des Builds aus, wenn der ausführliche Modus aktiviert ist.
C-Compiler Gibt das Programm an, das beim Kompilieren von C-Quelldateien aufgerufen werden soll, oder den Pfad zum C-Compiler auf dem Remotesystem.
C++ Compiler Gibt das Programm an, das beim Kompilieren von C++-Quelldateien aufgerufen werden soll, oder den Pfad zum C-Compiler auf dem Remotesystem.
Kompilierungstimeout Das Remotekompilierungstimeout in Millisekunden.
Objektdateien kopieren Gibt an, ob die kompilierten Objektdateien vom Remotesystem auf den lokalen Computer kopiert werden sollen.
Maximale Anzahl paralleler Kompilierungsaufträge Hiermit wird die Anzahl an Prozessen angegeben, die während der Kompilierung parallel erstellt werden sollen. Der Standardwert ist 1. Wenn Sie die Version 1 des Windows-Subsystems für Linux verwenden, beträgt das Limit 64.
Architektur überprüfen Hiermit wird angegeben, ob überprüft werden soll, ob die für das Projekt ausgewählte Plattform mit der Plattform des Remotesystems übereinstimmt.
AddressSanitizer aktivieren Hiermit wird das Programm mit AddressSanitizer kompiliert. Dabei handelt es sich um ein Tool für eine schnelle Arbeitsspeicherfehlererkennung, das Probleme des Runtimearbeitsspeichers entdecken kann, z. B. Verwendung nach Freigabe, und Überprüfungen auf Werte außerhalb des gültigen Bereichs durchführt.

Optimization

Eigenschaft BESCHREIBUNG Auswahl
Optimization Gibt die Optimierungsstufe für die Anwendung an. Benutzerdefiniert: Benutzerdefinierte Optimierung
Deaktiviert: Deaktivieren der Optimierung.
Größe minimieren: Größenoptimierung
Geschwindigkeit maximieren: Geschwindigkeitsoptimierung
Vollständige Optimierung: teure Optimierungen
Strenges Aliasing Nimmt die strengsten Aliasingregeln an. Bei einem Objekt eines Typs wird niemals davon ausgegangen, dass es sich an derselben Adresse wie ein Objekt eines anderen Typs befindet.
Schleifen auflösen Löst Schleifen auf, um Anwendungen schneller zu machen, indem die Anzahl der ausgeführten Branches verringert wird (dadurch entsteht größerer Code).
Linkzeitoptimierung Aktiviert die Optimierungen zwischen Prozeduren, indem dem Optimierer die Möglichkeit gegeben wird, Objektdateien in Ihrer Anwendung zu durchsuchen.
Framezeiger unterdrücken Unterdrückt die Erstellung von Framezeigern im Anrufstapel.
Keine allgemeinen Textblöcke Weist auch nicht initialisierte globale Variablen im Datenabschnitt der Objektdatei zu, anstatt sie als gemeinsame Blöcke zu generieren.

Präprozessor

Eigenschaft BESCHREIBUNG
Präprozessordefinitionen Definiert Vorverarbeitungssymbole für Ihre Quelldatei. (-D)
Präprozessordefinitionen aufheben Gibt mindestens eine aufgehobene Präprozessordefinition an. (-U [macro])
Alle Präprozessordefinitionen aufheben Hebt die Definition aller zuvor definierten Präprozessorwerte auf. (-undef)
Includedateien anzeigen Generiert eine Liste der Includedateien mit Compilerausgabe. (-H)

Codeerzeugung

Eigenschaft BESCHREIBUNG Auswahl
Positionsunabhängiger Code Generiert positionsunabhängigen Code (Position Independent Code, PIC) für die Verwendung in einer freigegebenen Bibliothek.
Statische Elemente sind threadsicher Gibt zusätzlichen Code auf, um die in C++ ABI angegebene Routinen zur threadsicheren Initialisierung lokaler statischer Elemente zu verwenden. Nein: Threadsichere statische Elemente deaktivieren.
Ja: Threadsichere statische Elemente aktivieren.
Gleitkommaoptimierung Aktiviert die Gleitkommaoptimierung, indem die Compliance mit IEEE-754 weniger strikt umgesetzt wird.
Inlinemethoden ausgeblendet Wenn aktiviert, werden Out-of-Line-Kopien von Inlinemethoden als private extern deklariert.
Standardmäßig versteckte Symbole Alle Symbole werden als private extern deklariert, es sei denn, sie sind explizit mit dem Makro __attribute für den Export gekennzeichnet.
C++-Ausnahmen aktivieren Gibt das Ausnahmebehandlungsmodell an, das vom Compiler verwendet wird. Nein: Ausnahmebehandlung deaktivieren.
Ja:-Ausnahmebehandlung aktivieren.

Sprache

Eigenschaft BESCHREIBUNG Auswahl
Laufzeit-Typeninformation aktivieren Fügt Code für die Überprüfung der C++-Objekttypen während der Laufzeit hinzu (Laufzeit-Typinformationen). (frtti, fno-rtti)
C-Sprachstandard Bestimmt den C-Sprachstandard. Default
C89: C89-Sprachstandard.
C99: C99-Sprachstandard.
C11: C11-Sprachstandard.
C99 (GNU-Dialekt): C99-Sprachstandard (GNU-Dialekt).
C11 (GNU-Dialekt) : C11-Sprachstandard (GNU-Dialekt).
C++-Sprachstandard Bestimmt den C++-Sprachstandard Standard
C++03: C++03-Sprachstandard.
C++11: C++11-Sprachstandard.
C++14: C++14-Sprachstandard.
C++03 (GNU-Dialekt): C++03-Sprachstandard (GNU-Dialekt).
C++11 (GNU-Dialekt): C++11-Sprachstandard (GNU-Dialekt).
C++14 (GNU-Dialekt): C++14-Sprachstandard (GNU-Dialekt).

Erweitert

Eigentum BESCHREIBUNG Auswahl
Kompilieren als Wählt die Kompilierungssprachoption für C- und CPP-Dateien aus. (-x c, -x c++) Standard: Die Erkennung erfolgt anhand der Erweiterung „.c“ oder „.cpp“.
Als C-Code kompilieren: Als C-Code kompilieren.
Als C++-Code kompilieren: als C++-Code kompilieren.
Explizite Includedateien Gibt mindestens eine erzwungene Includedatei (-include [name]) an