Clang-Projekteigenschaften (Android C++)
Eigenschaft | BESCHREIBUNG | Auswahl |
---|---|---|
Zusätzliche Includeverzeichnisse | Gibt mindestens ein Verzeichnis an, das dem include-Pfad hinzugefügt werden soll. Verwenden Sie Semikolons als Trennzeichen, wenn mehrere Verzeichnisse vorhanden sind. (-I-Pfad). | |
Debuginformationsformat | Gibt den Typ der Debuginformationen an, die vom Compiler generiert werden. | Keine: Generiert keine Debuginformationen, sodass die Kompilierung ggf. schneller erfolgt. Vollständige Debugging-Informationen(DWARF2): Generiert DWARF2-Debuginformationen. Informationen zur Zeilennummer: Nur Zeilennummerninformationen generieren. |
Name der Objektdatei | Gibt einen Namen an, um den Standardnamen der Objektdatei zu überschreiben. Dies kann ein Datei- oder Verzeichnisname sein. (/Fo-Name). | |
Warnstufe | Wählen Sie aus, wie streng der Compiler bei Codefehlern sein soll. Andere Kennzeichnungen sollten direkt zu den zusätzlichen Optionen hinzugefügt werden. (/w, /Weverything). | Alle Warnungen deaktivieren: Deaktiviert alle Compilerwarnungen. EnableAllWarnings – Aktiviert alle Warnungen, einschließlich aller deaktivierten Standardmäßigen. |
Warnungen als Fehler behandeln | Behandelt alle Compilerwarnungen als Fehler. Bei einem neuen Projekt kann es empfehlenswert sein, /WX in allen Kompilierungen zu verwenden. Das Beheben aller Warnungen stellt sicher, dass die geringstmögliche Anzahl schwer zu findender Codefehler vorhanden ist. | |
Ausführlichen Modus aktivieren | Befehle zum Ausführen und Verwenden der ausführlichen Ausgabe anzeigen. | |
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 | Annehmen der strengsten Aliasingregeln. Ein Objekt eines Typs wird nie angenommen, dass es sich bei derselben Adresse wie ein anderes Typobjekt befindet. | |
Framezeiger unterdrücken | Unterdrückt die Erstellung von Framezeigern im Anrufstapel. | |
C++-Ausnahmen aktivieren | Gibt das Ausnahmebehandlungsmodell an, das vom Compiler verwendet wird. | Nein: Ausnahmebehandlung deaktivieren. Ja:-Ausnahmebehandlung aktivieren. Tabellen abwickeln – Generiert alle erforderlichen statischen Daten, wirkt sich jedoch nicht auf den generierten Code aus. |
Funktionslevel-Linking aktivieren | Ermöglicht dem Compiler, einzelne Funktionen in Form von kompilierten Funktionen (COMDATs) zu kompilieren. Zur Bearbeitung erforderlich, funktionieren weiterhin. (ffunction-sections). | |
Datenlevel-Linking aktivieren | Ermöglicht Linker-Optimierungen, nicht verwendete Daten zu entfernen, indem jedes Datenelement in einem separaten Feld ausgegeben wird. | |
Advanced SIMD (Neon) aktivieren | Aktiviert die Codegenerierung für NEON-Gleitkomma-Hardware. Gilt nur für ARM-Architektur. | |
Gleitkomma-ABI | Wählen Sie eine Option aus, um die Gleitkomma-ABI auszuwählen. | Soft: „Soft“ sorgt dafür, dass der Compiler eine Ausgabe mit Bibliotheksaufrufen für Gleitkommavorgänge generiert. SoftFP: „SoftFP“ ermöglicht die Generierung von Code unter Verwendung von Gleitkommahardware-Anweisungen, verwendet jedoch weiterhin die Konventionen für den soft-float-Aufruf. Hard: „Hard“ ermöglicht die Generierung von Gleitkomma-Anweisungen und verwendet FPU-spezifische Aufrufkonventionen. |
Sicherheitsüberprüfung | Die Sicherheitsprüfung hilft bei der Erkennung von Überläufen des Stapelpuffers. Hierbei handelt es sich um gängige Versuche, die Sicherheit eines Programms zu gefährden. (fstack-protector). | Sicherheitsüberprüfung deaktivieren: Sicherheitsüberprüfung deaktivieren. Sicherheitsüberprüfung aktivieren: Sicherheitsüberprüfung aktivieren. (fstack-protector). |
Positionsunabhängiger Code | Generieren Sie positionsunabhängigen Code (PIC) für die Verwendung in einer freigegebenen Bibliothek. | |
Kurze Enumerationen verwenden | Dieser Enumerationstyp verwendet nur so viele Bytes, wie das Eingabeset an möglichen Werten erfordert. | |
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). |
Präprozessordefinitionen | Definiert Vorverarbeitungssymbole für Ihre Quelldatei. (-D) | |
Präprozessordefinitionen aufheben | Gibt einen oder mehrere Undefines für den Präprozessor an. (-U-Makro) | |
Alle Präprozessordefinitionen aufheben | Hebt die Definition aller zuvor definierten Präprozessorwerte auf. (-undef) | |
Includedateien anzeigen | Generiert eine Liste der Includedateien mit Compilerausgabe. (-H) | |
Vorkompilierter Header | Vorkompilierte Kopfzeile erstellen/verwenden: Ermöglicht die Erstellung oder Verwendung eines vorkompilierten Headers während des Builds. | Verwenden: Vorkompilierten Header verwenden. Vorkompilierte Header nicht verwenden: Vorkompilierten Header nicht verwenden. |
Vorkompilierte Headerdatei | Gibt den Namen einer Headerdatei an, die als vorkompilierte Headerdatei verwendet werden soll. Diese Datei wird auch während des Builds zu "Erzwungene Einschließen von Dateien" hinzugefügt. | |
Ausgabedateiverzeichnis für vorkompilierte Header | Gibt das Verzeichnis für den generierten vorkompilierten Header an. Dieses Verzeichnis wird auch während des Builds zu "Zusätzliche Includeverzeichnisse" hinzugefügt. | |
Vorkompilierten Header kompilieren: Optionen | Wählen Sie „Kompilierungssprachenoption für vorkompilierte Headerdatei (-x c-Header, -x c++-Header)“ aus. | Als C-Code kompilieren: als C-Code kompilieren. Als C++-Code kompilieren: als C++-Code kompilieren. |
Kompilieren als | Wählen Sie die Option für kompilierte Sprache für .c und .cpp Dateien aus. "Standard" erkennt basierend auf .c oder .cpp Erweiterung. (-x c, -x c++) |
Standard: die Standardeinstellung. Als C-Code kompilieren: als C-Code kompilieren. Als C++-Code kompilieren: als C++-Code kompilieren. |
Explizite Includedateien | eine oder mehrere explizite Includedateien. (-include name) | |
Kompilierung mit mehreren Prozessoren | Kompilierung mit mehreren Prozessoren | |
Zusätzliche Optionen | Zusätzliche Optionen. |