EnglezăFrancezăSpaniolă

Ad


Favicon OnWorks

clang-3.5 - Online în cloud

Rulați clang-3.5 în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda clang-3.5 care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


clang - compilatorul Clang C, C++ și Objective-C

REZUMAT


zăngăni [-c|-S|-E] -std=standard -g
[-O0|-O1|-O2|-O3|-De repede|-Os|-Oz|-O|-O4]
-WAvertizări... -pedant
-Idir ... -Ldir ...
-Dmacro[=defn]
-fopțiune-funcție...
-mmasina-optiune...
-o fisier de iesire
-stdlib=bibliotecă
nume de fișiere de intrare

DESCRIERE


zăngăni este un compilator C, C++ și Objective-C care cuprinde preprocesarea, analizarea,
optimizare, generare de cod, asamblare și legare. În funcție de ce mod de nivel înalt
setarea este trecută, Clang se va opri înainte de a face o legătură completă. În timp ce Clang este foarte
integrat, este important să înțelegeți etapele compilației, să înțelegeți cum
invocă-l. Aceste etape sunt:

Şofer
zăngăni executabilul este de fapt un driver mic care controlează execuția generală
a altor instrumente, cum ar fi compilatorul, asamblatorul și linkerul. De obicei, nu aveți nevoie
pentru a interacționa cu driverul, dar îl utilizați în mod transparent pentru a rula celelalte instrumente.

preprocesare
Această etapă se ocupă de tokenizarea fișierului sursă de intrare, extinderea macro, #include
extinderea și gestionarea altor directive de preprocesor. Ieșirea acestei etape este
numit de obicei „.i” (pentru C), „.ii” (pentru C++), „.mi” (pentru Objective-C) sau „.mii”
(pentru Objective-C++).

Analizare și Semantic Analiză
Această etapă analizează fișierul de intrare, traducând jetoanele de preprocesor într-un arbore de analiză.
Odată sub forma unui arbore de analiză, aplică analiza semantică pentru calcularea tipurilor pentru
expresii și determină dacă codul este bine format. Această etapă este
responsabil pentru generarea majorității avertismentelor compilatorului, precum și a erorilor de analiză. The
ieșirea acestei etape este un „Arbore de sintaxă abstractă” (AST).

Cod Generație și Optimizare
Această etapă traduce un AST în cod intermediar de nivel scăzut (cunoscut sub numele de „LLVM IR”) și
în cele din urmă la codul mașinii. Această fază este responsabilă de optimizarea celor generate
cod și gestionarea generării de cod specifice țintei. Ieșirea acestei etape este
de obicei numit fișier „.s” sau fișier „asamblare”.

Clang acceptă, de asemenea, utilizarea unui asamblator integrat, în care generatorul de cod
produce fișiere obiect direct. Acest lucru evită suprasarcina generată de fișierul „.s”.
și de a apela asamblatorul țintă.

Montator
Această etapă rulează asamblatorul țintă pentru a traduce rezultatul compilatorului în a
fișier obiect țintă. Ieșirea acestei etape este de obicei numită fișier „.o” sau
fișier „obiect”.

linker
Această etapă rulează linkerul țintă pentru a îmbina mai multe fișiere obiect într-un executabil sau
bibliotecă dinamică. Ieșirea acestei etape este de obicei numită „a.out”, „.dylib” sau
fișierul „.so”.

Compilatorul Clang acceptă un număr mare de opțiuni pentru a controla fiecare dintre aceste etape. În
Pe lângă compilarea codului, Clang acceptă și alte instrumente:

Zăngăni Static Analizor

Clang Static Analyzer este un instrument care scanează codul sursă pentru a încerca să găsească erori
analiza codului. Acest instrument folosește multe părți ale Clang și este încorporat în același driver.
Te rog vezihttp://clang-analyzer.llvm.org> pentru mai multe detalii despre cum să utilizați static
analizor.

OPŢIUNI


Etapă Selecţie Opţiuni
-E Rulați etapa de preprocesor.

-doar fsyntax
Rulați etapele de preprocesor, parser și de verificare a tipului.

-S Rulați etapele anterioare, precum și etapele de generare și optimizare LLVM și țintă-
generarea de cod specific, producând un fișier de asamblare.

-c Rulați toate cele de mai sus, plus asamblatorul, generând un fișier obiect „.o” țintă.

Nu. etapă selecţie opțiune
Dacă nu este specificată nicio opțiune de selecție a etapei, toate etapele de mai sus sunt rulate, iar linkerul este
rulați pentru a combina rezultatele într-o bibliotecă executabilă sau partajată.

Limbă Selecţie și mod Opţiuni
-x limbă
Tratați fișierele de intrare ulterioare ca având tip limbă.

-std=limbă
Specificați standardul de limbă pentru care să compilați.

-stdlib=bibliotecă
Specificați biblioteca standard C++ de utilizat; opțiunile acceptate sunt libstdc++ și libc++.

-ansi
La fel ca -std=c89.

-ObjC++
Tratați fișierele de intrare sursă ca intrări Objective-C++.

-ObjC
Tratați fișierele de intrare sursă ca intrări Objective-C.

-trigrafe
Activați trigrafele.

- de sine stătător
Indicați că fișierul ar trebui compilat pentru o versiune independentă, nu pentru un găzduit,
mediu. (envrironment)

-fno-builtin
Dezactivați gestionarea și optimizările speciale ale funcțiilor încorporate precum strlen și
malloc.

-fmath-errno
Indicați că funcțiile matematice ar trebui tratate ca actualizare errno.

-fpascal-strings
Activați suportul pentru șiruri în stil Pascal cu „\pfoo”.

-fms-extensii
Activați suportul pentru extensiile Microsoft.

-fmsc-version=
Setați _MSC_VER. Implicit la 1300 pe Windows. Nu setat altfel.

-fborland-extensii
Activați suportul pentru extensiile Borland.

-șiruri-inscriptibile
Faceți ca toate literalele șir de caractere implicite să fie scrise. Acest lucru dezactivează unificarea șirurilor și
alte optimizări.

-conversii-vectorale-in
Permiteți reguli de verificare a tipurilor libere pentru conversiile vectoriale implicite.

-fblocuri
Activați funcția de limbă „Blocuri”.

-doar fobjc-gc
Indicați că codul Objective-C ar trebui compilat în modul numai GC, care funcționează numai
când Objective-C Garbage Collection este activat.

-fobjc-gc
Indicați că codul Objective-C ar trebui compilat în modul hibrid-GC, care funcționează cu
atât modul GC, cât și cel non-GC.

-fobjc-abi-versiune=versiune
Selectați versiunea Objective-C ABI de utilizat. Versiunile disponibile sunt 1 (moștenire „fragile”
ABI), 2 (non-fragil ABI 1) și 3 (non-fragil ABI 2).

-fobjc-nonfragile-abi-versiune=versiune
Selectați versiunea ABI non-fragilă Objective-C pe care să o utilizați implicit. Doar asta va fi
folosit ca ABI Objective-C atunci când ABI non-fragil este activat (fie prin
-fobjc-nonfragile-abi, sau pentru că este platforma implicită).

-fobjc-nonfragile-abi
Activați utilizarea ABI non-fragil Objective-C. Pe platformele pentru care acesta este
ABI implicit, poate fi dezactivat cu -fno-objc-nonfragile-abi.

Ţintă Selecţie Opţiuni
Clang acceptă pe deplin compilarea încrucișată ca parte inerentă a designului său. Depinde de
cum este configurată versiunea dvs. de Clang, poate avea suport pentru un număr de cross
compilatoare sau poate suporta doar o țintă nativă.

-arc arhitectură
Specificați arhitectura pentru care să construiți.

-mmacosx-versiunea-min=versiune
Când creați pentru Mac OS X, specificați versiunea minimă acceptată de aplicația dvs.

-miphoneos-versiunea-min
Când creați pentru sistemul de operare iPhone, specificați versiunea minimă acceptată de dvs
aplicație.

-Martie=cpu
Specificați că Clang ar trebui să genereze cod pentru un anumit membru al familiei de procesoare și
mai tarziu. De exemplu, dacă specificați -march=i486, compilatorului i se permite să genereze
instrucțiuni care sunt valabile pe procesoarele i486 și ulterioare, dar care este posibil să nu existe pe
cele anterioare.

Cod Generație Opţiuni
-O0 -O1 -O2 -O3 -De repede -Os -Oz -O -O4
Specificați ce nivel de optimizare să utilizați:

-O0 Înseamnă „fără optimizare”: acest nivel compilează cel mai rapid și generează cel mai mult
cod depanabil.

-O1 Undeva între -O0 și -O2.

-O2 Nivel moderat de optimizare care permite majoritatea optimizărilor.

-O3 Aprecieri -O2, cu excepția faptului că permite optimizările care durează mai mult pentru a se executa sau asta
poate genera cod mai mare (în încercarea de a face programul să ruleze mai rapid).

-De repede
Activează toate optimizările de la -O3 împreună cu alte optimizări agresive
care pot încălca respectarea strictă a standardelor lingvistice.

-Os Aprecieri -O2 cu optimizări suplimentare pentru a reduce dimensiunea codului.

-Oz Aprecieri -Os (și, astfel -O2), dar reduce și mai mult dimensiunea codului.

-O Echivalentă cu -O2.

-O4 și mai sus
În prezent echivalent cu -O3

-g Generați informații de depanare. Rețineți că informațiile de depanare Clang funcționează cel mai bine la -O0.

-fstandalone-debug -fno-standalone-debug
Clang acceptă o serie de optimizări pentru a reduce dimensiunea informațiilor de depanare în
binarul. Ele funcționează pe baza presupunerii că informațiile de tip debug pot fi
răspândit pe mai multe unități de compilare. De exemplu, Clang nu va emite tip
definiții pentru tipurile care nu sunt necesare unui modul și care ar putea fi înlocuite cu a
declarație înainte. În plus, Clang va emite informații de tip doar pentru o clasă C++ dinamică
în modulul care conține vtable pentru clasă.

-fstandalone-debug opțiunea dezactivează aceste optimizări. Acest lucru este util atunci când
lucrul cu biblioteci terță parte care nu vin cu informații de depanare. Acesta este
implicit pe Darwin. Rețineți că Clang nu va emite niciodată informații de tip pentru tipurile care
nu sunt referite deloc de program.

-excepții
Permiteți generarea de informații de relaxare, acest lucru permite eliminarea excepțiilor
Clang a compilat stiva de cadre. Aceasta este activată implicit în x86-64.

-ftrapv
Generați cod pentru a detecta erorile de depășire a numărului întreg. Depășirea numărului întreg semnat este nedefinită
în C, cu acest flag, este generat un cod suplimentar pentru a detecta acest lucru și pentru a anula
se întâmplă.

-fvizibilitate
Acest indicator setează nivelul de vizibilitate implicit.

-fcomun
Acest indicator specifică faptul că variabilele fără inițializatori au o legătură comună. Poate fi
dezactivat cu -fno-comună.

-ftls-model
Setați modelul implicit de stocare local de fir (TLS) pentru a fi utilizat pentru variabilele locale de fir.
Valorile valide sunt: ​​„global-dynamic”, „local-dynamic”, „initial-exec” și „local-exec”.
Valoarea implicită este „global-dynamic”. Modelul implicit poate fi înlocuit cu
atributul tls_model. Compilatorul va încerca să aleagă un model mai eficient dacă
posibil.

-flto -emit-llvm
Generați fișiere de ieșire în formate LLVM, potrivite pentru optimizarea timpului de legătură. Când este folosit
cu -S aceasta generează fișiere de asamblare a limbajului intermediar LLVM, în caz contrar
generează fișiere obiect în format cod de biți LLVM (care pot fi transmise linkerului
în funcţie de opţiunile de selecţie a etapei).

Şofer Opţiuni
-###
Imprimați (dar nu executați) comenzile de rulat pentru această compilație.

--Ajutor
Afișează opțiunile disponibile.

-Argumente nefolosite
Nu emite avertismente pentru argumentele driverului neutilizate.

-Wa,args
Introduceți argumentele separate prin virgulă args la asamblator.

-Wl,args
Introduceți argumentele separate prin virgulă args către linker.

-Wp,args
Introduceți argumentele separate prin virgulă args la preprocesor.

-Xanalyzer arg
Trece arg la analizorul static.

-Xassembler arg
Trece arg la asamblator.

-Xlinker arg
Trece arg către linker.

-Xpreprocesor arg
Trece arg la preprocesor.

-o fişier
Scrie ieșire în fişier.

-print-file-name=fişier
Imprimați calea completă a bibliotecii de fişier.

-print-libgcc-file-name
Tipăriți calea bibliotecii pentru „libgcc.a”.

-print-prog-name=nume
Tipăriți calea completă a programului nume.

-print-search-dirs
Tipăriți căile utilizate pentru găsirea bibliotecilor și a programelor.

-save-temps
Salvați rezultatele compilației intermediare.

-integrat-ca -nu-integrat-ca
Folosit pentru a activa și, respectiv, a dezactiva utilizarea asamblatorului integrat. Dacă
asamblatorul integrat este activat în mod implicit este dependent de țintă.

-timp
Timpul comenzilor individuale.

-ftime-raport
Imprimați rezumatul timpului pentru fiecare etapă de compilare.

-v Afișați comenzile pentru a rula și utilizați ieșiri detaliate.

Diagnostics Opţiuni
-fshow-coloană -fshow-source-location -fcaret-diagnostic -fdiagnostics-fixit-info
-fdiagnostics-parseable-fixits -fdiagnostics-print-source-range-info
-fprint-source-range-info -fdiagnostics-show-option -fmessage-lungime
Aceste opțiuni controlează modul în care Clang imprimă informații despre diagnosticare (erori și
Avertizări). Vă rugăm să consultați Manualul utilizatorului Clang pentru mai multe informații.

Preprocesor Opţiuni
-Dmacronume=valoare
Adaugă un #define implicit în bufferul de predefinite, care este citit înaintea sursei
fișierul este preprocesat.

-Umacronume
Adaugă un #undef implicit în tamponul de predefinite, care este citit înaintea sursei
fișierul este preprocesat.

-include nume de fișier
Adaugă un #include implicit în tamponul de predefinite care este citit înaintea sursei
fișierul este preprocesat.

-Idirector
Adăugați directorul specificat la calea de căutare pentru fișierele incluse.

-Fdirector
Adăugați directorul specificat la calea de căutare pentru fișierele de includere a cadrului.

-nostdinc
Nu căutați în directoarele standard de sistem sau în directoarele încorporate ale compilatorului
include fișiere.

-nostdlibinc
Nu căutați în directoarele standard de sistem pentru fișiere incluse, ci căutați
compilatorul încorporat include directoare.

-nobuiltininc
Nu căutați în directorul încorporat clang fișiere include.

MEDIUL


TMPDIR, TEMP, TMP
Aceste variabile de mediu sunt verificate, în ordine, pentru ca locația să se scrie temporar
fișierele utilizate în timpul procesului de compilare.

CPATH
Dacă această variabilă de mediu este prezentă, este tratată ca o listă delimitată de căi către
să fie adăugat la lista implicită de căi de includere a sistemului. Delimitatorul este platforma
delimitator dependent, așa cum este folosit în PATH variabilă de mediu.

Componentele goale din variabila de mediu sunt ignorate.

C_INCLUDE_PATH, OBJC_INCLUDE_PATH, CPLUS_INCLUDE_PATH, OBJCPLUS_INCLUDE_PATH
Aceste variabile de mediu specifică căi suplimentare, ca pentru CPATH, care sunt numai
utilizate la prelucrarea limbajului corespunzător.

MACOSX_DEPLOYMENT_TARGET
Dacă -mmacosx-version-min nu este specificat, ținta de implementare implicită este citită de la
această variabilă de mediu. Această opțiune afectează numai țintele Darwin.

Utilizați clang-3.5 online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

  • 1
    usm
    usm
    Usm este un pachet slackware unificat
    manager care se ocupă automat
    rezolvarea dependenței. Se unifică
    diverse depozite de pachete, inclusiv
    slackware, slacky, p...
    Descărcați usm
  • 2
    Chart.js
    Chart.js
    Chart.js este o bibliotecă Javascript care
    permite designerilor și dezvoltatorilor să deseneze
    tot felul de diagrame folosind HTML5
    element de pânză. Chart js oferă o excelentă
    matrice...
    Descărcați Chart.js
  • 3
    iReport-Designer pentru JasperReports
    iReport-Designer pentru JasperReports
    NOTĂ: Asistență iReport/Jaspersoft Studio
    Anunț: Începând cu versiunea 5.5.0,
    Jaspersoft Studio va fi oficial
    client de proiectare pentru JasperReports. raportez
    voi...
    Descărcați iReport-Designer pentru JasperReports
  • 4
    PostInstallerF
    PostInstallerF
    PostInstallerF va instala toate
    software pe care Fedora Linux și altele
    nu include implicit, după
    rulează Fedora pentru prima dată. Este
    usor pentru ...
    Descărcați PostInstallerF
  • 5
    strace
    strace
    Proiectul strace a fost mutat la
    https://strace.io. strace is a
    diagnostic, depanare și instruire
    userspace tracer pentru Linux. Este folosit
    a monitoriza un...
    Descărcați strace
  • 6
    gMKVExtractGUI
    gMKVExtractGUI
    O GUI pentru utilitarul mkvextract (parte a
    MKVToolNix) care încorporează cele mai multe (dacă
    nu toate) funcționalitatea mkvextract și
    utilități mkvinfo. Scris în C#NET 4.0,...
    Descărcați gMKVExtractGUI
  • Mai mult »

Comenzi Linux

Ad