EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

clang-3.5 – Online in der Cloud

Führen Sie clang-3.5 im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl clang-3.5, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


clang – der Clang C-, C++- und Objective-C-Compiler

ZUSAMMENFASSUNG


Klappern [-c|-S|-E] -std=Standard -g
[-O0|-O1|-O2|-O3|-Ofast|-Du|-Oz|-O|-O4]
-WWarnungen... -pedantisch
-IDir... -LDir...
-DMakro[=defn]
-fFeature-Option...
-mMaschinenoption...
-o Ausgabedatei
-stdlib=Bibliothek
Eingabedateinamen

BESCHREIBUNG


Klappern ist ein C-, C++- und Objective-C-Compiler, der Vorverarbeitung, Parsing,
Optimierung, Codegenerierung, Assemblierung und Verknüpfung. Je nachdem welcher High-Level-Modus
Wenn die Einstellung übergeben wird, stoppt Clang, bevor eine vollständige Verknüpfung hergestellt wird. Während Clang hoch ist
Integriert ist es wichtig, die Phasen der Kompilierung zu verstehen und zu verstehen, wie das geht
rufe es auf. Diese Phasen sind:

LED Treiber
Das Klappern Executable ist eigentlich ein kleiner Treiber, der die Gesamtausführung steuert
anderer Tools wie Compiler, Assembler und Linker. Normalerweise brauchen Sie das nicht
um mit dem Treiber zu interagieren, aber Sie verwenden es transparent, um die anderen Tools auszuführen.

Anarbeitung
In dieser Phase werden die Tokenisierung der Eingabequelldatei, die Makroerweiterung und #include behandelt
Erweiterung und Handhabung anderer Präprozessordirektiven. Die Ausgabe dieser Stufe ist
Wird normalerweise als „.i“ (für C), „.ii“ (für C++), „.mi“ (für Objective-C) oder „.mii“ bezeichnet.
(für Objective-C++) Datei.

Parsing und Semantisch Analyse
In dieser Phase wird die Eingabedatei analysiert und Präprozessor-Tokens in einen Analysebaum übersetzt.
Sobald es in Form eines Parserbaums vorliegt, wendet es eine semantische Analyse an, um Typen für zu berechnen
auch Ausdrücke und bestimmen, ob der Code wohlgeformt ist. Diese Phase ist
ist für die Generierung der meisten Compiler-Warnungen und Analysefehler verantwortlich. Der
Die Ausgabe dieser Stufe ist ein „Abstract Syntax Tree“ (AST).

Code Generation und OPTIMIERUNG
In dieser Phase wird ein AST in Low-Level-Zwischencode (bekannt als „LLVM IR“) übersetzt und
letztendlich zum Maschinencode. Diese Phase ist für die Optimierung des Generierten verantwortlich
Code und Handhabung der zielspezifischen Codegenerierung. Die Ausgabe dieser Stufe ist
Wird normalerweise als „.s“-Datei oder „Assembly“-Datei bezeichnet.

Clang unterstützt auch die Verwendung eines integrierten Assemblers, in dem der Codegenerator enthalten ist
erzeugt Objektdateien direkt. Dadurch wird der Aufwand für die Generierung der „.s“-Datei vermieden
und den Zielassembler aufzurufen.

Monteur
In dieser Phase wird der Zielassembler ausgeführt, um die Ausgabe des Compilers in eine zu übersetzen
Zielobjektdatei. Die Ausgabe dieser Stufe wird normalerweise als „.o“-Datei oder „.o“-Datei bezeichnet
„Objekt“-Datei.

Links
In dieser Phase wird der Ziellinker ausgeführt, um mehrere Objektdateien zu einer ausführbaren Datei oder zusammenzuführen
dynamische Bibliothek. Die Ausgabe dieser Stufe wird normalerweise als „a.out“, „.dylib“ oder „.dylib“ bezeichnet
„.so“-Datei.

Der Clang-Compiler unterstützt eine große Anzahl von Optionen zur Steuerung jeder dieser Phasen. In
Neben der Codekompilierung unterstützt Clang auch andere Tools:

Clang Statisch Analyzer

Der Clang Static Analyzer ist ein Tool, das Quellcode scannt, um Fehler zu finden
Code-Analyse. Dieses Tool nutzt viele Teile von Clang und ist in denselben Treiber integriert.
Bitte sehenhttp://clang-analyzer.llvm.org> Weitere Informationen zur Verwendung der Statik
Analysator.

OPTIONAL


Stufe Auswahl Optionen
-E Führen Sie die Präprozessorphase aus.

-fsyntax-nur
Führen Sie die Phasen Präprozessor, Parser und Typprüfung aus.

-S Führen Sie die vorherigen Phasen sowie die LLVM-Generierungs- und Optimierungsphasen und Ziel-
Spezifische Codegenerierung, Erstellung einer Assemblydatei.

-c Führen Sie alle oben genannten Schritte sowie den Assembler aus und generieren Sie eine Zielobjektdatei „.o“.

nicht Stufe Auswahl zu erhalten
Wenn keine Stufenauswahloption angegeben ist, werden alle oben genannten Stufen ausgeführt, ebenso der Linker
ausführen, um die Ergebnisse in einer ausführbaren Datei oder gemeinsam genutzten Bibliothek zu kombinieren.

Sprache Auswahl und Model Optionen
-x Sprache
Behandeln Sie nachfolgende Eingabedateien so, als hätten sie einen Typ Sprache.

-Std=Sprache
Geben Sie den Sprachstandard an, für den kompiliert werden soll.

-stdlib=Bibliothek
Geben Sie die zu verwendende C++-Standardbibliothek an. Unterstützte Optionen sind libstdc++ und libc++.

-ansi
Das gleiche wie -std=c89.

-ObjC++
Behandeln Sie Quelleingabedateien als Objective-C++-Eingaben.

-ObjC
Behandeln Sie Quelleingabedateien als Objective-C-Eingaben.

-Trigraphen
Trigraphen aktivieren.

-freistehend
Geben Sie an, dass die Datei für eine freistehende und nicht für eine gehostete Datei kompiliert werden soll.
Umwelt.

-fno-eingebaut
Deaktivieren Sie die spezielle Handhabung und Optimierung integrierter Funktionen wie strlen und
malloc.

-fmath-fehlernr
Geben Sie an, dass mathematische Funktionen als Aktualisierungsfehlernummer behandelt werden sollen.

-fpascal-Strings
Aktivieren Sie die Unterstützung für Zeichenfolgen im Pascal-Stil mit „\pfoo“.

-fms-Erweiterungen
Aktivieren Sie die Unterstützung für Microsoft-Erweiterungen.

-fmsc-version=
Legen Sie _MSC_VER fest. Unter Windows ist der Standardwert 1300. Nicht anders eingestellt.

-fborland-extensions
Aktivieren Sie die Unterstützung für Borland-Erweiterungen.

-fwritable-strings
Machen Sie alle Zeichenfolgenliterale standardmäßig auf beschreibbar. Dies deaktiviert die Eindeutigkeit von Zeichenfolgen und
weitere Optimierungen.

-Flachs-Vektor-Umrechnungen
Ermöglichen Sie lose Typprüfungsregeln für implizite Vektorkonvertierungen.

-fblocks
Aktivieren Sie die Sprachfunktion „Blöcke“.

-fobjc-gc-only
Geben Sie an, dass Objective-C-Code im Nur-GC-Modus kompiliert werden soll, was nur funktioniert
wenn Objective-C Garbage Collection aktiviert ist.

-fobjc-gc
Geben Sie an, dass Objective-C-Code im Hybrid-GC-Modus kompiliert werden soll, der mit funktioniert
sowohl im GC- als auch im Nicht-GC-Modus.

-fobjc-abi-version=Version
Wählen Sie die zu verwendende Objective-C-ABI-Version aus. Verfügbare Versionen sind 1 (alte „fragile“
ABI), 2 (nicht fragiler ABI 1) und 3 (nicht fragiler ABI 2).

-fobjc-nonfragile-abi-version=Version
Wählen Sie die nichtfragile Objective-C-ABI-Version aus, die standardmäßig verwendet werden soll. Das wird nur so sein
Wird als Objective-C-ABI verwendet, wenn das nicht-fragile ABI aktiviert ist (entweder über
-fobjc-nonfragile-abi, oder weil es die Standardeinstellung der Plattform ist).

-fobjc-nonfragile-abi
Aktivieren Sie die Verwendung des nicht fragilen Objective-C-ABI. Auf Plattformen, für die dies der Fall ist
Standard-ABI, es kann mit deaktiviert werden -fno-objc-nonfragile-abi.

Target Auswahl Optionen
Clang unterstützt die Cross-Kompilierung vollständig als integralen Bestandteil seines Designs. Es hängt davon ab
Je nachdem, wie Ihre Clang-Version konfiguriert ist, unterstützt sie möglicherweise eine Reihe von Cross
Compiler oder unterstützen möglicherweise nur ein natives Ziel.

-Bogen Architektur
Geben Sie die Architektur an, für die erstellt werden soll.

-mmacosx-version-min=Version
Geben Sie beim Erstellen für Mac OS X die Mindestversion an, die von Ihrer Anwendung unterstützt wird.

-miphoneos-version-min
Geben Sie beim Erstellen für das iPhone-Betriebssystem die von Ihrem Betriebssystem unterstützte Mindestversion an
Anwendung.

-März=CPU
Geben Sie an, dass Clang Code für ein bestimmtes Mitglied der Prozessorfamilie generieren soll
später. Wenn Sie beispielsweise -march=i486 angeben, darf der Compiler generieren
Anweisungen, die auf i486- und späteren Prozessoren gültig sind, auf denen jedoch möglicherweise nicht vorhanden sind
frühere.

Code Generation Optionen
-O0 -O1 -O2 -O3 -Ofast -Du -Oz -O -O4
Geben Sie an, welche Optimierungsstufe verwendet werden soll:

-O0 Bedeutet „keine Optimierung“: Diese Ebene kompiliert am schnellsten und generiert am meisten
debuggbarer Code.

-O1 Irgendwo dazwischen -O0 und -O2.

-O2 Moderates Optimierungsniveau, das die meisten Optimierungen ermöglicht.

-O3 Like -O2, außer dass es Optimierungen ermöglicht, deren Ausführung länger dauert oder so
kann größeren Code generieren (um die Ausführung des Programms zu beschleunigen).

-Ofast
Aktiviert alle Optimierungen von -O3 zusammen mit anderen aggressiven Optimierungen
Dies kann gegen die strikte Einhaltung von Sprachstandards verstoßen.

-Du Like -O2 mit zusätzlichen Optimierungen zur Reduzierung der Codegröße.

-Oz Like -Du (und somit -O2), reduziert aber die Codegröße weiter.

-O Gleichwertig -O2.

-O4 und höher
Derzeit gleichbedeutend mit -O3

-g Generieren Sie Debug-Informationen. Beachten Sie, dass Clang-Debug-Informationen am besten funktionieren -O0.

-fstandalone-debug -fno-standalone-debug
Clang unterstützt eine Reihe von Optimierungen, um die Größe der Debug-Informationen zu reduzieren
die Binärdatei. Sie funktionieren basierend auf der Annahme, dass die Debug-Typinformationen vorhanden sein können
auf mehrere Kompilierungseinheiten verteilt. Clang gibt beispielsweise keinen Typ aus
Definitionen für Typen, die von einem Modul nicht benötigt werden und durch a ersetzt werden könnten
Vorwärtsdeklaration. Darüber hinaus gibt Clang nur Typinformationen für eine dynamische C++-Klasse aus
im Modul, das die vtable für die Klasse enthält.

Das -fstandalone-debug Die Option deaktiviert diese Optimierungen. Dies ist nützlich, wenn
Arbeiten mit Bibliotheken von Drittanbietern, die keine Debug-Informationen enthalten. Dies ist das
Standard auf Darwin. Beachten Sie, dass Clang niemals Typinformationen für Typen ausgibt, die dies tun
werden vom Programm überhaupt nicht referenziert.

-fAusnahmen
Aktivieren Sie die Generierung von Abwicklungsinformationen. Dadurch können Ausnahmen ausgelöst werden
Clang kompilierte Stack-Frames. Dies ist in x86-64 standardmäßig aktiviert.

-ftrapv
Generieren Sie Code, um Ganzzahlüberlauffehler abzufangen. Der Ganzzahlüberlauf mit Vorzeichen ist undefiniert
In C wird mit diesem Flag zusätzlicher Code generiert, um dies zu erkennen und abzubrechen, wenn es passiert
das passiert.

-fSichtbarkeit
Dieses Flag legt die Standardsichtbarkeitsstufe fest.

-fgemein
Dieses Flag gibt an, dass Variablen ohne Initialisierer eine gemeinsame Verknüpfung erhalten. Es kann sein
deaktiviert mit -fno-gemeinsam.

-ftls-Modell
Legen Sie das standardmäßige TLS-Modell (Thread-Local Storage) fest, das für Thread-lokale Variablen verwendet werden soll.
Gültige Werte sind: „global-dynamic“, „local-dynamic“, „initial-exec“ und „local-exec“.
Der Standardwert ist „global-dynamisch“. Das Standardmodell kann mit überschrieben werden
tls_model-Attribut. Der Compiler wird versuchen, ein effizienteres Modell auszuwählen, wenn
möglich.

-flto -emit-llvm
Generieren Sie Ausgabedateien in LLVM-Formaten, die für die Optimierung der Verbindungszeit geeignet sind. Wenn benutzt
mit -S Dadurch werden LLVM-Intermediate-Language-Assembly-Dateien generiert, andernfalls this
generiert Objektdateien im LLVM-Bitcode-Format (die an den Linker übergeben werden können).
abhängig von den Bühnenauswahlmöglichkeiten).

LED Treiber Optionen
-###
Geben Sie die für diese Kompilierung auszuführenden Befehle aus (aber führen Sie sie nicht aus).

--help
Verfügbare Optionen anzeigen.

-Verwendete Argumente
Geben Sie keine Warnung für nicht verwendete Treiberargumente aus.

- Wa,args
Übergeben Sie die durch Kommas getrennten Argumente args zum Monteur.

-WL,args
Übergeben Sie die durch Kommas getrennten Argumente args zum Linker.

-Wp,args
Übergeben Sie die durch Kommas getrennten Argumente args zum Präprozessor.

-Xanalyzer arg
Passieren arg zum statischen Analysator.

-Xassembler arg
Passieren arg zum Monteur.

-Xlinker arg
Passieren arg zum Linker.

-Xpräprozessor arg
Passieren arg zum Präprozessor.

-o Datei
Ausgabe schreiben nach Datei.

-Dateiname drucken=Datei
Drucken Sie den vollständigen Bibliothekspfad von aus Datei.

-print-libgcc-Dateiname
Drucken Sie den Bibliothekspfad für „libgcc.a“.

-print-prog-name=Name
Drucken Sie den vollständigen Programmpfad von aus Name.

-Suchverzeichnisse drucken
Drucken Sie die Pfade aus, die zum Auffinden von Bibliotheken und Programmen verwendet werden.

-Save-Temps
Zwischenergebnisse der Kompilierung speichern.

-integriert-als -no-integriert-as
Wird verwendet, um die Verwendung des integrierten Assemblers zu aktivieren bzw. zu deaktivieren. Ob
Der integrierte Assembler ist standardmäßig aktiviert und hängt vom Ziel ab.

-Zeit
Zeit für einzelne Befehle.

-ftime-Bericht
Drucken Sie die zeitliche Zusammenfassung jeder Kompilierungsphase.

-v Befehle zum Ausführen anzeigen und ausführliche Ausgabe verwenden.

Diagnose Optionen
-fshow-Spalte -fshow-Quellenstandort -fcaret-diagnostics -fdiagnostics-fixit-info
-fdiagnostics-parseable-fixits -fdiagnostics-print-source-range-info
-fprint-source-range-info -fdiagnostics-show-option -fNachrichtenlänge
Diese Optionen steuern, wie Clang Informationen zu Diagnosen (Fehler usw.) ausdruckt
Warnungen). Weitere Informationen finden Sie im Clang-Benutzerhandbuch.

Präprozessor Optionen
-DMakroname=Wert
Fügt ein implizites #define zum vordefinierten Puffer hinzu, der vor der Quelle gelesen wird
Datei wird vorverarbeitet.

-UMakroname
Fügt ein implizites #undef zum vordefinierten Puffer hinzu, der vor der Quelle gelesen wird
Datei wird vorverarbeitet.

-einschließen Dateinamen
Fügt ein implizites #include zum vordefinierten Puffer hinzu, der vor der Quelle gelesen wird
Datei wird vorverarbeitet.

-IVerzeichnis
Fügen Sie das angegebene Verzeichnis zum Suchpfad für Include-Dateien hinzu.

-FVerzeichnis
Fügen Sie das angegebene Verzeichnis zum Suchpfad für Framework-Include-Dateien hinzu.

-nostdinc
Durchsuchen Sie nicht die Standardsystemverzeichnisse oder im Compiler integrierten Verzeichnisse
Dateien einschließen.

-nostdlibinc
Durchsuchen Sie nicht die Standardsystemverzeichnisse nach Include-Dateien, sondern führen Sie eine Suche durch
Der im Compiler integrierte Include-Verzeichnisse.

-nobuiltininc
Durchsuchen Sie das integrierte Verzeichnis von Clang nicht nach Include-Dateien.


TMPDIR, TEMP, TMP
Diese Umgebungsvariablen werden überprüft, um festzustellen, an welchem ​​Speicherort temporär geschrieben werden soll
Dateien, die während des Kompilierungsprozesses verwendet werden.

CPATH
Wenn diese Umgebungsvariable vorhanden ist, wird sie als begrenzte Liste von Pfaden zu behandelt
zur Standardsystem-Include-Pfadliste hinzugefügt werden. Das Trennzeichen ist die Plattform
abhängiges Trennzeichen, wie es im verwendet wird PATH variable Umgebung

Leere Komponenten in der Umgebungsvariablen werden ignoriert.

C_include_path, OBJC_INCLUDE_PATH, CPLUS_INCLUDE_PATH, OBJCPLUS_INCLUDE_PATH
Diese Umgebungsvariablen geben wie bei CPATH zusätzliche Pfade an, die nur vorhanden sind
Wird bei der Verarbeitung der entsprechenden Sprache verwendet.

MACOSX_DEPLOYMENT_TARGET
Wenn -mmacosx-version-min nicht angegeben ist, wird vom Standardbereitstellungsziel gelesen
diese Umgebungsvariable. Diese Option betrifft nur Darwin-Ziele.

Verwenden Sie clang-3.5 online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

  • 1
    usm
    usm
    Usm ist ein einheitliches Slackware-Paket
    Manager, der automatisch behandelt
    Abhängigkeitsauflösung. Es vereint
    verschiedene Paket-Repositories einschließlich
    Slackware, locker, p...
    usm herunterladen
  • 2
    Chart.js
    Chart.js
    Chart.js ist eine Javascript-Bibliothek, die
    erlaubt Designern und Entwicklern zu zeichnen
    alle Arten von Diagrammen mit HTML5
    Canvas-Element. Chart js bietet eine großartige
    Anordnung ...
    Laden Sie Chart.js herunter
  • 3
    iReport-Designer für JasperReports
    iReport-Designer für JasperReports
    HINWEIS: Unterstützung für iReport/Jaspersoft Studio
    Ankündigung: Ab Version 5.5.0,
    Jaspersoft Studio wird der offizielle sein
    Design-Client für JasperReports. ich berichte
    werden...
    Laden Sie iReport-Designer für JasperReports herunter
  • 4
    PostInstallerF
    PostInstallerF
    PostInstallerF installiert alle
    Software, die Fedora Linux und andere
    beinhaltet nicht standardmäßig after
    Fedora zum ersten Mal ausführen. Es ist
    einfach für...
    Laden Sie PostInstallerF herunter
  • 5
    strace
    strace
    Das Strace-Projekt wurde verschoben
    https://strace.io. strace is a
    Diagnose, Debugging und Anleitung
    Userspace-Tracer für Linux. Es ist benutzt
    überwachen ...
    strace herunterladen
  • 6
    gMKV Extract GUI
    gMKV Extract GUI
    Eine GUI für das Dienstprogramm mkvextract (Teil von
    MKVToolNix), das die meisten enthält (if
    nicht alle) Funktionalität von mkvextract und
    mkvinfo-Dienstprogramme. Geschrieben in C#NET 4.0, ...
    gMKVExtractGUI herunterladen
  • Mehr »

Linux-Befehle

Ad