EngelsFransSpaans

Ad


OnWorks-favicon

clang-3.5 - Online in de cloud

Voer clang-3.5 uit in de gratis hostingprovider van OnWorks via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de opdracht clang-3.5 die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


clang - de Clang C-, C++- en Objective-C-compiler

KORTE INHOUD


kletteren [-c|-S|-E] -standaard=standaard -g
[-O0|-O1|-O2|-O3|-Of snel|-Jij|-Oz|-O|-O4]
-Wwaarschuwingen... -pedant
-Iricht... -Lricht...
-Dmacro[=defn]
-ffeature-optie...
-mmachine-optie...
-o output-bestand
-stdlib=bibliotheek
input-bestandsnamen

PRODUCTBESCHRIJVING


kletteren is een C-, C++- en Objective-C-compiler die preprocessing, parsing,
optimalisatie, codegeneratie, assemblage en koppeling. Afhankelijk van welke modus op hoog niveau
instelling is doorgegeven, stopt Clang voordat een volledige link wordt gemaakt. Terwijl Clang zeer is
geïntegreerd, is het belangrijk om de stadia van compilatie te begrijpen, om te begrijpen hoe
er een beroep op doen. Deze stadia zijn:

bestuurder
De kletteren uitvoerbaar is eigenlijk een kleine driver die de algehele uitvoering bestuurt
van andere tools zoals de compiler, assembler en linker. Meestal heb je niet nodig
om met de bestuurder te communiceren, maar u gebruikt het transparant om de andere tools uit te voeren.

Voorverwerking
Deze fase behandelt tokenisatie van het invoerbronbestand, macro-uitbreiding, #include
uitbreiding en afhandeling van andere preprocessorrichtlijnen. De output van deze fase is
meestal een ".i" (voor C), ".ii" (voor C++), ".mi" (voor Objective-C) of ".mii" genoemd
(voor Objective-C++) bestand.

Parsing en Semantisch Analyse
Deze fase ontleedt het invoerbestand en vertaalt preprocessor-tokens in een ontleedboom.
Eenmaal in de vorm van een parserboom, past het semantische analyse toe om typen te berekenen
uitdrukkingen en bepaal of de code goed is gevormd. Dit stadium is
verantwoordelijk voor het genereren van de meeste compilerwaarschuwingen en parseerfouten. De
output van deze stage is een "Abstract Syntax Tree" (AST).

Code Generatie en Optimization
Deze fase vertaalt een AST in tussenliggende code op laag niveau (bekend als "LLVM IR") en
uiteindelijk naar machinecode. Deze fase is verantwoordelijk voor het optimaliseren van het gegenereerde
code en afhandeling van doelspecifieke codegeneratie. De output van deze fase is
meestal een ".s"-bestand of "assembly"-bestand genoemd.

Clang ondersteunt ook het gebruik van een geïntegreerde assembler, waarin de codegenerator
produceert direct objectbestanden. Dit vermijdt de overhead van het genereren van het ".s"-bestand
en van het aanroepen van de beoogde assembler.

Assembler
Deze fase voert de doel-assembler uit om de uitvoer van de compiler te vertalen naar een
doelobjectbestand. De uitvoer van deze fase wordt meestal een ".o"-bestand of
"object"-bestand.

Links
In deze fase wordt de doellinker uitgevoerd om meerdere objectbestanden samen te voegen tot een uitvoerbaar bestand of
dynamische bibliotheek. De output van deze stage wordt meestal een "a.out", ".dylib" of
".so"-bestand.

De Clang-compiler ondersteunt een groot aantal opties om elk van deze fasen te besturen. In
naast het compileren van code ondersteunt Clang ook andere tools:

kletteren Statisch Analyzer

De Clang Static Analyzer is een tool die de broncode scant om bugs te vinden
code analyse. Deze tool gebruikt veel onderdelen van Clang en is ingebouwd in dezelfde driver.
Alsjeblieft ziehttp://clang-analyzer.llvm.org> voor meer informatie over het gebruik van de static
analysator.

OPTIES


Stadium Selectie Opties
-E Voer de preprocessorfase uit.

-fsyntaxis-alleen
Voer de preprocessor-, parser- en typecontrolefasen uit.

-S Voer de vorige fasen uit, evenals LLVM-generatie- en optimalisatiefasen en doel-
specifieke codegeneratie, waardoor een assemblagebestand wordt geproduceerd.

-c Voer al het bovenstaande uit, plus de assembler, en genereer een doel ".o" objectbestand.

geen stadium selectie optie
Als er geen optie voor het selecteren van een fase is opgegeven, worden alle bovenstaande fasen uitgevoerd en wordt de linker uitgevoerd
run om de resultaten te combineren in een uitvoerbare of gedeelde bibliotheek.

Taal Selectie en Mode Opties
-x taal
Behandel volgende invoerbestanden als hebbend type taal.

-soa=taal
Specificeer de taalstandaard waarvoor gecompileerd moet worden.

-stdlib=bibliotheek
Geef de te gebruiken C++-standaardbibliotheek op; ondersteunde opties zijn libstdc++ en libc++.

-ansi
Hetzelfde als -standaard=c89.

-ObjC++
Behandel broninvoerbestanden als Objective-C++-invoer.

-ObjC
Behandel broninvoerbestanden als Objective-C-invoer.

-trigrafieën
Trigraphs inschakelen.

-vrijstaand
Geef aan dat het bestand moet worden gecompileerd voor een vrijstaande, niet een gehoste,
milieu.

-fno-ingebouwd
Schakel speciale afhandeling en optimalisaties van ingebouwde functies zoals strlen en
malloc.

-fmath-fout
Geef aan dat wiskundige functies moeten worden behandeld als het bijwerken van errno.

-fpascal-tekenreeksen
Schakel ondersteuning in voor tekenreeksen in Pascal-stijl met "\pfoo".

-fms-extensies
Schakel ondersteuning voor Microsoft-extensies in.

-fmsc-versie=
Stel _MSC_VER in. Standaard ingesteld op 1300 op Windows. Niet anders ingesteld.

-fborland-extensies
Schakel ondersteuning voor Borland-extensies in.

-fwritable-tekenreeksen
Maak alle letterlijke tekenreeksen standaard beschrijfbaar. Dit schakelt het uniek maken van strings en
andere optimalisaties.

-vlas-vector-conversies
Regels voor losse typecontrole toestaan ​​voor impliciete vectorconversies.

-fblokken
Schakel de taalfunctie "Blokken" in.

-fobjc-gc-alleen
Geef aan dat Objective-C-code moet worden gecompileerd in de GC-only-modus, wat alleen werkt
wanneer Objective-C Garbage Collection is ingeschakeld.

-fobjc-gc
Geef aan dat Objective-C-code moet worden gecompileerd in hybride-GC-modus, wat werkt met
zowel GC- als niet-GC-modus.

-fobjc-abi-versie=versie
Selecteer de Objective-C ABI-versie die u wilt gebruiken. Beschikbare versies zijn 1 (oud "fragiel"
ABI), 2 (niet-kwetsbare ABI 1) en 3 (niet-kwetsbare ABI 2).

-fobjc-niet-fragiele-abi-versie=versie
Selecteer de niet-fragiele ABI-versie van Objective-C die standaard moet worden gebruikt. Dit zal alleen zijn
gebruikt als de Objective-C ABI wanneer de niet-fragiele ABI is ingeschakeld (via
-fobjc-nonfragile-abi, of omdat dit de platformstandaard is).

-fobjc-niet-fragiel-abi
Maak gebruik van de niet-fragiele ABI van Objective-C mogelijk. Op platforms waarvoor dit de
standaard ABI, kan worden uitgeschakeld met -fno-object-niet-fragiel-abi.

doelwit Selectie Opties
Clang ondersteunt volledig cross-compilatie als een inherent onderdeel van het ontwerp. Afhankelijk van
hoe uw versie van Clang is geconfigureerd, het kan ondersteuning bieden voor een aantal cross
compilers, of ondersteunen mogelijk alleen een native target.

-boog architectuur
Geef de architectuur op waarvoor u wilt bouwen.

-mmacosx-versie-min=versie
Geef bij het bouwen voor Mac OS X de minimale versie op die door uw toepassing wordt ondersteund.

-miphoneos-versie-min
Geef bij het bouwen voor iPhone OS de minimale versie op die wordt ondersteund door uw
toepassing.

-maart=cpu
Specificeer dat Clang code moet genereren voor een specifiek lid van de processorfamilie en
later. Als u bijvoorbeeld -march=i486 opgeeft, mag de compiler genereren
instructies die geldig zijn op i486 en latere processors, maar die mogelijk niet bestaan ​​op
eerdere.

Code Generatie Opties
-O0 -O1 -O2 -O3 -Of snel -Jij -Oz -O -O4
Specificeer welk optimalisatieniveau u wilt gebruiken:

-O0 Betekent "geen optimalisatie": dit niveau compileert het snelst en genereert het meeste
foutopsporingscode.

-O1 Ergens tussen -O0 en -O2.

-O2 Matig optimalisatieniveau dat de meeste optimalisaties mogelijk maakt.

-O3 Like -O2, behalve dat het optimalisaties mogelijk maakt die langer duren om uit te voeren of zo
kan grotere code genereren (in een poging om het programma sneller te laten werken).

-Of snel
Schakelt alle optimalisaties in van -O3 samen met andere agressieve optimalisaties
die in strijd kunnen zijn met de strikte naleving van taalnormen.

-Jij Like -O2 met extra optimalisaties om de codegrootte te verkleinen.

-Oz Like -Jij (en daarom -O2), maar verkleint de codegrootte verder.

-O Gelijkwaardig aan -O2.

-O4 en hoger
Momenteel gelijk aan -O3

-g Foutopsporingsinformatie genereren. Merk op dat Clang-foutopsporingsinformatie het beste werkt bij -O0.

-fstandalone-debug -fno-zelfstandige-debug
Clang ondersteunt een aantal optimalisaties om de grootte van foutopsporingsinformatie te verkleinen
het binaire. Ze werken op basis van de veronderstelling dat het debug-type informatie kan zijn
verspreid over meerdere compilatie-eenheden. Clang zal bijvoorbeeld geen type uitzenden
definities voor typen die niet nodig zijn voor een module en kunnen worden vervangen door een
voorwaartse aangifte. Verder zal Clang alleen type-informatie uitzenden voor een dynamische C++-klasse
in de module die de vtable voor de klasse bevat.

De -fstandalone-debug optie schakelt deze optimalisaties uit. Dit is handig wanneer
werken met bibliotheken van derden die geen foutopsporingsinformatie bevatten. Dit is de
standaard op Darwin. Merk op dat Clang nooit type-informatie zal uitzenden voor typen die
er wordt helemaal niet naar verwezen door het programma.

-uitzonderingen
Schakel het genereren van afwikkelinformatie in, hierdoor kunnen uitzonderingen worden doorgegooid
Clang gecompileerde stapelframes. Dit staat standaard aan in x86-64.

-ftrapv
Genereer code om integer overflow-fouten op te vangen. Getekende integer overflow is ongedefinieerd
in C wordt met deze vlag extra code gegenereerd om dit te detecteren en af ​​te breken wanneer dit gebeurt
gebeurt.

-fzichtbaarheid
Deze vlag stelt het standaard zichtbaarheidsniveau in.

-fgewone
Deze vlag geeft aan dat variabelen zonder initializers een gemeenschappelijke koppeling krijgen. Het kan zijn
uitgeschakeld met -fno-gemeenschappelijk.

-ftls-model
Stel het standaard thread-local storage (TLS)-model in dat moet worden gebruikt voor thread-local-variabelen.
Geldige waarden zijn: "global-dynamic", "local-dynamic", "initial-exec" en "local-exec".
De standaardinstelling is "globaal-dynamisch". Het standaardmodel kan worden overschreven met de
tls_model attribuut. De compiler zal proberen een efficiënter model te kiezen als
mogelijk.

-flto -uitstoten-llvm
Genereer uitvoerbestanden in LLVM-formaten, geschikt voor optimalisatie van de linktijd. Wanneer gebruikt
Met -S dit genereert LLVM intermediaire taalassemblagebestanden, anders dit
genereert objectbestanden in LLVM-bitcode-indeling (die kunnen worden doorgegeven aan het linker
afhankelijk van de keuzemogelijkheden van het podium).

bestuurder Opties
-###
Druk de opdrachten af ​​die voor deze compilatie moeten worden uitgevoerd (maar voer deze niet uit).

--help
Beschikbare opties weergeven.

-Qunused-argumenten
Geef geen waarschuwing af voor ongebruikte stuurprogramma-argumenten.

-Wah,betoogt
Geef de door komma's gescheiden argumenten door betoogt naar de monteur.

-Wl,betoogt
Geef de door komma's gescheiden argumenten door betoogt naar de koppelaar.

-Wp,betoogt
Geef de door komma's gescheiden argumenten door betoogt naar de preprocessor.

-Xanalysator arg
Passeren arg naar de statische analysator.

-Xmonteur arg
Passeren arg naar de monteur.

-Xlinker arg
Passeren arg naar de koppelaar.

-Xpreprocessor arg
Passeren arg naar de preprocessor.

-o filet
Schrijf uitvoer naar filet.

-print-bestandsnaam=filet
Print het volledige bibliotheekpad van filet.

-print-libgcc-bestandsnaam
Druk het bibliotheekpad voor "libgcc.a" af.

-print-prog-naam=naam
Print het volledige programmapad van naam.

-print-zoekmap
Druk de paden af ​​die worden gebruikt voor het vinden van bibliotheken en programma's.

-opslaan-temps
Bewaar tussentijdse compilatieresultaten.

-geïntegreerd-als -geen-geïntegreerde-as
Wordt gebruikt om respectievelijk het gebruik van de geïntegreerde assembler in en uit te schakelen. Of
de geïntegreerde assembler is standaard ingeschakeld en is afhankelijk van het doel.

-tijd
Tijd individuele commando's.

-ftime-rapport
Tijdsoverzicht van elke compilatiefase afdrukken.

-v Toon commando's om uit te voeren en gebruik uitgebreide uitvoer.

Diagnostiek Opties
-fshow-kolom -fshow-bronlocatie -fcaret-diagnostiek -fdiagnose-fixit-info
-fdiagnostics-parseerbare-fixits -fdiagnostics-print-source-bereik-info
-fprint-bronbereik-info -fdiagnostics-show-optie -fberichtlengte
Deze opties bepalen hoe Clang informatie over diagnostische gegevens afdrukt (fouten en
waarschuwingen). Zie de Clang-gebruikershandleiding voor meer informatie.

preprocessor Opties
-Dmacronaam=waarde
Voegt een impliciete #define toe aan de predefines-buffer die vóór de bron wordt gelezen
bestand is voorbewerkt.

-Umacronaam
Voegt een impliciete #undef toe aan de predefines-buffer die vóór de bron wordt gelezen
bestand is voorbewerkt.

omvatten bestandsnaam
Voegt een impliciete #include toe aan de vooraf gedefinieerde buffer die wordt gelezen vóór de bron
bestand is voorbewerkt.

-Idirectory
Voeg de opgegeven map toe aan het zoekpad voor include-bestanden.

-Fdirectory
Voeg de opgegeven map toe aan het zoekpad voor framework include-bestanden.

-nostdinc
Zoek niet in de standaard systeemmappen of in de ingebouwde mappen van de compiler
bestanden opnemen.

-nostdlibinc
Zoek niet in de standaard systeemmappen naar include-bestanden, maar zoek wel
ingebouwde compiler inclusief mappen.

-geen ingebouwde inc
Zoek niet in de ingebouwde directory van clang naar include-bestanden.

MILIEU


TMPDIR, TEMP, TMP
Deze omgevingsvariabelen worden in volgorde gecontroleerd op de locatie om tijdelijk te schrijven
bestanden die tijdens het compilatieproces worden gebruikt.

CPATH
Als deze omgevingsvariabele aanwezig is, wordt deze behandeld als een afgebakende lijst met paden naar
worden toegevoegd aan de lijst met standaardpaden van het systeem. Het scheidingsteken is het platform
afhankelijke begrenzer, zoals gebruikt in de PATH variabele omgeving.

Lege componenten in de omgevingsvariabele worden genegeerd.

C_INCLUDE_PATH, OBJC_INCLUDE_PATH, CPLUS_INCLUDE_PATH, OBJCPLUS_INCLUDE_PATH
Deze omgevingsvariabelen specificeren aanvullende paden, zoals voor CPATH, die alleen
gebruikt bij het verwerken van de juiste taal.

MACOSX_DEPLOYMENT_TARGET
Als -mmacosx-version-min niet is opgegeven, wordt het standaard implementatiedoel gelezen
deze omgevingsvariabele. Deze optie is alleen van invloed op darwin-doelen.

Gebruik clang-3.5 online met behulp van onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

  • 1
    ons
    ons
    Usm is een verenigd slackwarepakket
    manager die automatisch afhandelt
    afhankelijkheid resolutie. Het verenigt
    verschillende pakketrepository's, waaronder
    slackware, slacky, p...
    usm downloaden
  • 2
    Chart.js
    Chart.js
    Chart.js is een Javascript-bibliotheek die
    stelt ontwerpers en ontwikkelaars in staat om te tekenen
    allerlei grafieken met behulp van de HTML5
    canvas-element. Chart js biedt een geweldige
    reeks ...
    Chart.js downloaden
  • 3
    iReport-Designer voor JasperReports
    iReport-Designer voor JasperReports
    OPMERKING: iReport/Jaspersoft Studio-ondersteuning
    Aankondiging: vanaf versie 5.5.0,
    Jaspersoft Studio zal de officiële zijn
    ontwerpclient voor JasperReports. ik rapporteer
    zullen...
    Download iReport-Designer voor JasperReports
  • 4
    PostInstallerF
    PostInstallerF
    PostInstallerF zal alle
    software die Fedora Linux en anderen
    omvat niet standaard, na
    Fedora voor het eerst draaien. Zijn
    makkelijk voor...
    PostInstallerF downloaden
  • 5
    spoor
    spoor
    Het strace-project is verplaatst naar
    https://strace.io. strace is a
    diagnostisch, foutopsporing en instructie
    gebruikersruimte tracer voor Linux. Het is gebruikt
    bewaken van een...
    Strace downloaden
  • 6
    gMKV GUI uitpakken
    gMKV GUI uitpakken
    Een GUI voor het hulpprogramma mkvextract (onderdeel van
    MKVToolNix) die de meeste (if
    niet alle) functionaliteit van mkvextract en
    mkvinfo-hulpprogramma's. Geschreven in C#NET 4.0,...
    GMKVExtractGUI downloaden
  • Meer "

Linux-commando's

Ad