Angielskifrancuskihiszpański

Ad


Ulubiona usługa OnWorks

clang-3.5 - Online w chmurze

Uruchom clang-3.5 u dostawcy bezpłatnego hostingu OnWorks przez Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

Jest to polecenie clang-3.5, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

PROGRAM:

IMIĘ


clang - kompilator Clang C, C++ i Objective-C

STRESZCZENIE


szczęk [-c|-S|-E] -std=standard -g
[-O0|-O1|-O2|-O3|-Oszybko|-Os|-Oz|-O|-O4]
-Wostrzeżenia... -pedantyczny
-Ireż... -Lreż...
-Dmakro[=defn]
-ffunkcja-opcja...
-mmaszyna-opcja...
-o plik wyjściowy
-stdlib=biblioteka
wejściowe nazwy plików

OPIS


szczęk jest kompilatorem C, C++ i Objective-C, który obejmuje przetwarzanie wstępne, parsowanie,
optymalizacja, generowanie kodu, montaż i łączenie. W zależności od trybu wysokiego poziomu
ustawienie zostanie przekazane, Clang zatrzyma się przed wykonaniem pełnego łącza. Podczas gdy Clang jest wysoko
zintegrowane, ważne jest, aby zrozumieć etapy kompilacji, aby zrozumieć, jak
wywołaj to. Te etapy to:

Kierowca
Połączenia szczęk plik wykonywalny jest w rzeczywistości małym sterownikiem, który kontroluje ogólne wykonanie
innych narzędzi, takich jak kompilator, asembler i linker. Zazwyczaj nie potrzebujesz
do interakcji ze sterownikiem, ale w przejrzysty sposób używasz go do uruchamiania innych narzędzi.

Przetwarzanie wstępne
Ten etap obsługuje tokenizację wejściowego pliku źródłowego, rozwijanie makr, #include
rozbudowa i obsługa innych dyrektyw preprocesora. Wynikiem tego etapu jest
zwykle nazywane ".i" (dla C), ".ii" (dla C++), ".mi" (dla Objective-C) lub ".mii"
(dla Objective-C++).

Rozbiór gramatyczny zdania i Semantyczny Analiza
Ten etap analizuje plik wejściowy, tłumacząc tokeny preprocesora na drzewo analizy.
Będąc w formie drzewa parsera, stosuje analizę semantyczną do obliczania typów dla
wyrażenia i określić, czy kod jest poprawnie sformułowany. Ten etap jest
odpowiedzialny za generowanie większości ostrzeżeń kompilatora oraz błędów parsowania. ten
wyjściem tego etapu jest „drzewo składni abstrakcyjnej” (AST).

Code Pożądania i Optymalizacja
Ten etap tłumaczy AST na kod pośredni niskiego poziomu (znany jako „LLVM IR”) i
ostatecznie do kodu maszynowego. Ta faza odpowiada za optymalizację generowanego
kod i obsługa generowania kodu specyficznego dla celu. Wynikiem tego etapu jest
zwykle nazywany plikiem „.s” lub plikiem „zestawu”.

Clang obsługuje również użycie zintegrowanego asemblera, w którym generator kodu
tworzy bezpośrednio pliki obiektowe. Pozwala to uniknąć narzutów związanych z generowaniem pliku „.s”
i wywoływania docelowego asemblera.

Assembler
Ten etap uruchamia asembler docelowy, aby przetłumaczyć dane wyjściowe kompilatora na A
docelowy plik obiektu. Dane wyjściowe tego etapu są zwykle nazywane plikiem „.o” lub
plik „obiektowy”.

Linki
Ten etap uruchamia docelowy linker, aby scalić wiele plików obiektowych w plik wykonywalny lub
biblioteka dynamiczna. Dane wyjściowe tego etapu są zwykle nazywane „a.out”, „.dylib” lub
plik ".so".

Kompilator Clang obsługuje wiele opcji kontroli każdego z tych etapów. w
oprócz kompilacji kodu Clang obsługuje również inne narzędzia:

Szczęk Statyczny Analizator

Clang Static Analyzer to narzędzie, które skanuje kod źródłowy w celu znalezienia błędów
analiza kodu. To narzędzie wykorzystuje wiele części Clang i jest wbudowane w ten sam sterownik.
Proszę zobaczyćhttp://clang-analyzer.llvm.org> aby uzyskać więcej informacji na temat korzystania ze statyki
analizator.

OPCJE


STAGE Wybór Opcje
-E Uruchom etap preprocesora.

- tylko fsyntax
Uruchom etapy preprocesora, parsera i sprawdzania typu.

-S Uruchom poprzednie etapy, a także etapy generowania i optymalizacji LLVM oraz docelowe-
specyficzne generowanie kodu, tworząc plik zespołu.

-c Uruchom wszystkie powyższe, plus asembler, generując docelowy plik obiektowy ".o".

Nie etap wybór opcja
Jeśli nie określono opcji wyboru etapu, uruchamiane są wszystkie powyższe etapy, a linker jest
uruchom, aby połączyć wyniki w wykonywalną lub współdzieloną bibliotekę.

Wybierz język Wybór i Moda Opcje
-x język
Traktuj kolejne pliki wejściowe jako mające typ język.

-std=język
Określ standard języka do kompilacji.

-stdlib=biblioteka
Określ bibliotekę standardową C++ do użycia; obsługiwane opcje to libstdc++ i libc++.

-ansi
Taki sam jak -std=c89.

-ObjC++
Traktuj źródłowe pliki wejściowe jako dane wejściowe Objective-C++.

-ObjC
Traktuj źródłowe pliki wejściowe jako dane wejściowe Objective-C.

-trygrafy
Włącz trygrafy.

-wolnostojący
Wskaż, że plik powinien być skompilowany jako wolnostojący, a nie hostowany,
środowisko.

-fno-wbudowany
Wyłącz specjalną obsługę i optymalizacje wbudowanych funkcji, takich jak strlen i
mallok.

-fmath-errno
Wskaż, że funkcje matematyczne należy traktować jako aktualizujące errno.

-fpascal-stringi
Włącz obsługę ciągów znaków w stylu Pascala za pomocą „\pfoo”.

-fms-rozszerzenia
Włącz obsługę rozszerzeń firmy Microsoft.

-fmsc-wersja=
Ustaw _MSC_VER. Domyślnie 1300 w systemie Windows. Nie ustawiaj inaczej.

-fborland-rozszerzenia
Włącz obsługę rozszerzeń Borland.

-zapisywalne-stringi
Ustaw domyślnie wszystkie literały ciągów na zapisywalne. Wyłącza to unikalność ciągów i
inne optymalizacje.

-konwersje-wektorów-lnu
Zezwalaj na luźne reguły sprawdzania typu dla niejawnych konwersji wektorów.

-fbloki
Włącz funkcję językową „Bloki”.

-fobjc-gc-tylko
Wskaż, że kod Objective-C powinien być skompilowany w trybie GC-only, który działa tylko
gdy włączone jest odśmiecanie Celu-C.

-fobjc-gc
Wskaż, że kod Objective-C powinien być skompilowany w trybie hybrydowym-GC, który działa z
zarówno tryb GC, jak i non-GC.

-fobjc-abi-wersja=wersja
Wybierz wersję Objective-C ABI do użycia. Dostępne wersje to 1 (starsze „kruche”
ABI), 2 (niekruche ABI 1) i 3 (niekruche ABI 2).

-fobjc-niewrażliwa-abi-wersja=wersja
Wybierz niełamliwą wersję ABI Objective-C, która ma być używana domyślnie. To będzie tylko
używany jako Objective-C ABI, gdy niewrażliwy ABI jest włączony (albo poprzez:
-fobjc-nonfragile-abi lub ponieważ jest to domyślna platforma).

-fobjc-niekruchy-abi
Włącz korzystanie z niełamliwego ABI Objective-C. Na platformach, dla których to jest
domyślny ABI, można go wyłączyć za pomocą -fno-objc-niekruchy-abi.

cel Wybór Opcje
Clang w pełni obsługuje kompilację krzyżową jako nieodłączną część swojego projektu. Zależy od
jak twoja wersja Clang jest skonfigurowana, może mieć wsparcie dla wielu krzyży
kompilatory lub mogą obsługiwać tylko natywny cel.

-łuk architektura
Określ architekturę, dla której chcesz zbudować.

-mmacosx-wersja-min=wersja
Podczas kompilowania dla systemu Mac OS X określ minimalną wersję obsługiwaną przez twoją aplikację.

-miphoneos-wersja-min
Tworząc dla iPhone OS, określ minimalną wersję obsługiwaną przez twój
aplikacji.

-Marsz=cpu
Określ, że Clang powinien generować kod dla określonego członka rodziny procesorów i
później. Na przykład, jeśli podasz -march=i486, kompilator może generować
instrukcje, które są ważne na procesorach i486 i nowszych, ale które mogą nie istnieć na
wcześniejsze.

Code Pożądania Opcje
-O0 -O1 -O2 -O3 -Oszybko -Os -Oz -O -O4
Określ, którego poziomu optymalizacji użyć:

-O0 Oznacza „brak optymalizacji”: ten poziom kompiluje się najszybciej i generuje najwięcej
kod debugowalny.

-O1 Gdzieś pomiędzy -O0 i -O2.

-O2 Umiarkowany poziom optymalizacji, który umożliwia większość optymalizacji.

-O3 Jak -O2, z wyjątkiem tego, że umożliwia optymalizacje, których wykonanie trwa dłużej lub które
może generować większy kod (w celu przyspieszenia działania programu).

-Oszybko
Włącza wszystkie optymalizacje z -O3 wraz z innymi agresywnymi optymalizacjami
które mogą naruszać ścisłe przestrzeganie standardów językowych.

-Os Jak -O2 z dodatkowymi optymalizacjami w celu zmniejszenia rozmiaru kodu.

-Oz Jak -Os (a zatem -O2), ale dodatkowo zmniejsza rozmiar kodu.

-O Równoważny -O2.

-O4 i wyżej
Obecnie odpowiednik -O3

-g Generuj informacje debugowania. Zwróć uwagę, że informacje debugowania Clang działają najlepiej w -O0.

-fstandalone-debug -fno-autonomiczny-debug
Clang obsługuje szereg optymalizacji w celu zmniejszenia rozmiaru informacji debugowania w
binarny. Działają w oparciu o założenie, że informacje o typie debugowania mogą być
rozłożone na wiele jednostek kompilacji. Na przykład Clang nie wyemituje type
definicje typów, które nie są potrzebne modułowi i mogą być zastąpione przez
przekazanie deklaracji. Co więcej, Clang wyemituje tylko informacje o typie dla dynamicznej klasy C++
w module zawierającym vtable dla klasy.

Połączenia -fstandalone-debug opcja wyłącza te optymalizacje. Jest to przydatne, gdy
praca z bibliotekami innych firm, które nie zawierają informacji debugowania. To jest
domyślnie na Darwin. Zauważ, że Clang nigdy nie wyśle ​​informacji o typie dla typów, które:
nie odwołuje się w ogóle do programu.

-wyjątki
Włącz generowanie informacji o odprężeniu, co pozwala na wyrzucanie wyjątków
Clang skompilowane ramki stosu. Jest to domyślnie włączone w x86-64.

-ftrapv
Generuj kod, aby wyłapać błędy przepełnienia liczb całkowitych. Przepełnienie liczby całkowitej ze znakiem jest niezdefiniowane
w C, z tą flagą, generowany jest dodatkowy kod, aby to wykryć i przerwać, gdy to nastąpi
dzieje się.

-widzialność
Ta flaga ustawia domyślny poziom widoczności.

-fwspólny
Ta flaga określa, że ​​zmienne bez inicjatorów uzyskują wspólne powiązanie. To może być
wyłączone z -fno-wspólny.

- ftls-model
Ustaw domyślny model magazynu lokalnego wątku (TLS), który ma być używany dla zmiennych lokalnych wątków.
Prawidłowe wartości to: „global-dynamic”, „local-dynamic”, „initial-exec” i „local-exec”.
Wartość domyślna to „global-dynamic”. Domyślny model można nadpisać za pomocą
atrybut tls_model. Kompilator spróbuje wybrać wydajniejszy model, jeśli
możliwe.

-flto -emituj-llvm
Generuj pliki wyjściowe w formatach LLVM, odpowiednich do optymalizacji czasu łącza. Kiedy jest używany
w -S to generuje pliki asemblera języka pośredniego LLVM, w przeciwnym razie to
generuje pliki obiektowe w formacie kodu bitowego LLVM (które mogą być przekazane do konsolidatora)
w zależności od opcji wyboru etapu).

Kierowca Opcje
-###
Wydrukuj (ale nie uruchamiaj) polecenia do uruchomienia dla tej kompilacji.

--help
Wyświetl dostępne opcje.

-Kunused-argumenty
Nie emituj ostrzeżenia dla nieużywanych argumentów sterownika.

-Wa,args
Przekaż argumenty oddzielone przecinkami w args do asemblera.

-Wl,args
Przekaż argumenty oddzielone przecinkami w args do konsolidatora.

-Wp,args
Przekaż argumenty oddzielone przecinkami w args do preprocesora.

-Ksanalizer arg
Przechodzić arg do analizatora statycznego.

-Xasembler arg
Przechodzić arg do asemblera.

-Xlinker arg
Przechodzić arg do konsolidatora.

-Xpreprocesor arg
Przechodzić arg do preprocesora.

-o filet
Zapisz dane wyjściowe do filet.

-print-nazwa-pliku=filet
Wydrukuj pełną ścieżkę biblioteki z filet.

-print-nazwa-pliku-libgcc
Wydrukuj ścieżkę biblioteki dla „libgcc.a”.

-print-nazwa-programu=Nazwa
Wydrukuj pełną ścieżkę programu Nazwa.

-print-search-dirs
Wydrukuj ścieżki używane do wyszukiwania bibliotek i programów.

-zapisz-temps
Zapisz pośrednie wyniki kompilacji.

-zintegrowany-jako -nie-zintegrowany-jako
Służy do włączania i wyłączania odpowiednio użycia zintegrowanego asemblera. Czy
zintegrowany asembler jest domyślnie włączony i jest zależny od celu.

-czas
Czas poszczególnych poleceń.

-ftime-raport
Wydrukuj podsumowanie czasu każdego etapu kompilacji.

-v Pokaż polecenia do uruchomienia i użyj pełnego wyjścia.

Diagnostyka Opcje
-fpokaż-kolumnę -fshow-lokalizacja-źródła -fcaret-diagnostyka -fdiagnostics-fixit-info
-fdiagnostics-parseable-fixits -fdiagnostics-print-source-range-info
-fprint-informacje-o-zakresie-źródłowym -fdiagnostyka-pokaż-opcja -f-długość-wiadomości
Te opcje kontrolują sposób, w jaki Clang drukuje informacje o diagnostyce (błędach i
ostrzeżenia). Więcej informacji znajdziesz w podręczniku użytkownika Clang.

Preprocesor Opcje
-Dnazwa makra=wartość
Dodaje niejawny #define do bufora predefiniowanego, który jest odczytywany przed źródłem
plik jest wstępnie przetworzony.

-Unazwa makra
Dodaje niejawny #undef do bufora predefiniowanego, który jest odczytywany przed źródłem
plik jest wstępnie przetworzony.

-zawierać filename
Dodaje niejawny #include do bufora predefiniowanego, który jest odczytywany przed źródłem
plik jest wstępnie przetworzony.

-Ikatalog
Dodaj określony katalog do ścieżki wyszukiwania plików dołączanych.

-Fkatalog
Dodaj określony katalog do ścieżki wyszukiwania plików dołączanych do struktury.

-nostdinc
Nie przeszukuj standardowych katalogów systemowych ani katalogów wbudowanych kompilatora w poszukiwaniu
dołączać pliki.

-nostdlibnc
Nie przeszukuj standardowych katalogów systemowych w poszukiwaniu plików dołączanych, ale wyszukuj
wbudowany kompilator zawiera katalogi.

-nobuiltinc
Nie przeszukuj wbudowanego katalogu clang w poszukiwaniu plików dołączanych.

ŚRODOWISKO


TMPDIR, TEMP, TMP
Te zmienne środowiskowe są sprawdzane, aby lokalizacja zapisała tymczasowo
pliki używane podczas procesu kompilacji.

ŚCIEŻKA
Jeśli ta zmienna środowiskowa jest obecna, jest traktowana jako oddzielona lista ścieżek do
zostać dodane do domyślnego systemu zawiera listę ścieżek. Ogranicznikiem jest platforma
ogranicznik zależny, używany w PATH zmienna środowiskowa.

Puste składniki w zmiennej środowiskowej są ignorowane.

C_INCLUDE_PATH, OBJC_INCLUDE_PATH, CPLUS_INCLUDE_PATH, OBJCPLUS_INCLUDE_PATH
Te zmienne środowiskowe określają dodatkowe ścieżki, takie jak CPATH, które są tylko
używane podczas przetwarzania odpowiedniego języka.

MACOSX_DEPLOYMENT_TARGET
Jeśli nie określono -mmacosx-version-min, domyślnym miejscem docelowym wdrożenia jest odczyt z
ta zmienna środowiskowa. Ta opcja dotyczy tylko celów Darwina.

Korzystaj z clang-3.5 online za pomocą usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

  • 1
    Usm
    Usm
    Usm to zunifikowany pakiet Slackware
    menedżer, który obsługuje automatyczne
    rozwiązanie zależności. To jednoczy
    różne repozytoria pakietów, w tym
    slackware, slacky, p...
    Pobierz usm
  • 2
    Chart.js
    Chart.js
    Chart.js to biblioteka JavaScript, która
    pozwala projektantom i programistom rysować
    wszelkiego rodzaju wykresy przy użyciu HTML5
    element płótna. Chart js oferuje świetne
    tablica ...
    Pobierz Chart.js
  • 3
    iReport-Designer dla JasperReports
    iReport-Designer dla JasperReports
    UWAGA: Obsługa iReport/Jaspersoft Studio
    Ogłoszenie: Od wersji 5.5.0,
    Jaspersoft Studio będzie oficjalnym
    klient projektowy dla JasperReports. iReport
    Wola...
    Pobierz iReport-Designer dla JasperReports
  • 4
    PostInstallerF
    PostInstallerF
    PostInstallerF zainstaluje wszystkie
    oprogramowanie, które Fedora Linux i inne
    nie obejmuje domyślnie, po
    uruchamianie Fedory po raz pierwszy. Jego
    łatwe dla...
    Pobierz PostInstallerF
  • 5
    strace
    strace
    Projekt strace został przeniesiony do
    https://strace.io. strace is a
    diagnostyczne, debugujące i instruktażowe
    śledzenie przestrzeni użytkownika dla systemu Linux. To jest używane
    monitorować...
    Pobierz strace
  • 6
    gMKVExtract GUI
    gMKVExtract GUI
    GUI dla narzędzia mkvextract (część
    MKVToolNix), który zawiera większość (if
    nie wszystkie) funkcjonalność mkvextract i
    narzędzia mkvinfo. Napisany w C#NET 4.0,...
    Pobierz gMKVExtractGUI
  • więcej »

Komendy systemu Linux

Ad