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 |