cc, cxx — interfaces voor Microsoft C- en C++-compilers

SYNOPSIS

cc]]files…

cxx]files…

DESCRIPTION

De commando’s cc en cxx dienen als interfaces voor de Microsoft C-compiler (cl).Versies 5.0 en hoger van deze compiler worden ondersteund.cc is voor het compileren van C bestanden, terwijl cxx is voor het compileren van C++ bestanden.

Opmerking:

Het gedrag van cc hangt af van het feit of u al dan niet werkt in de standaard MKS Toolkit ontwikkelomgeving of in de ontwikkelomgeving die is ontworpen voor gebruik met de MKS Toolkit UNIX APIs.

cxx is alleen beschikbaar in de ontwikkelomgeving van de PTC MKS Toolkit UNIX API’s.

Deze commando’s zijn slechts wrappers die de clutility aanroepen.Als u PTC MKS Toolkit for Professional Developers of PTC MKS Toolkit for Developers gebruikt, wordt tijdens de installatie gecontroleerd op de aanwezigheid van clin PATH.Voor andere Toolkit-producten moet u er zelf voor zorgen dat clis in het PATH staat.

Bestanden met het achtervoegsel .c worden beschouwd als C-bronbestanden, bestanden met de extensie .cpp of .cxx worden beschouwd als C++-bronbestanden, en bestanden met de extensie .asm worden beschouwd als assembleertaalbronbestanden.De aanwezigheid van bronbestanden met een .cpp of .cxx zorgt er automatisch voor dat de bronbestanden worden gecompileerd alsof in plaats daarvan de opdracht cxx was aangeroepen.

De opdrachten cc en cxx stellen impliciet de volgende Microsoft-compiler-switches in (alleen voor Intel-platforms):

/D_X86_/D_NUTC_=0x430 (Value changes with each release)/Zl/Qifdiv-

Opmerking:

De optie /D_NUTC_=0x430 wordt alleen ingesteld wanneer u werkt in de ontwikkelomgeving van de PTC MKS Toolkit UNIX API’s.

De /Qifdiv- optie wordt alleen ingesteld wanneer u werkt in de PTC MKS Toolkit UNIX APIs ontwikkelomgeving en is alleen beschikbaar voor Microsoft Visual Studio 2.1 of later.

U kunt de -W/optionflag gebruiken om opties direct aan cl door te geven.Als u dit doet, moet u oppassen dat u niet in conflict komt met de opties die deze commando’s instellen. Het standaard waarschuwingsniveau van de compiler is bijvoorbeeld ingesteld op/W3. De optie -W/Wn kan gebruikt worden om deze standaard te overschrijven.cl opties gespecificeerd met -W overschrijven cl opties gegenereerd door andere cc orcxx opties.

Opties

-c

compileert alleen – linkt niet.

Deze optie wordt de /c optie voor cl.

-C

leidt commentaar door naar de preprocessoruitvoer.

Deze optie wordt de /C optie voor cl.

-Dname

definieert een preprocessor symbool met een optionele waarde.

Deze optie wordt de /Dname=waarde-optie van cl.

-E

stuurt alle uitvoer van de preprocessor naar de standaarduitvoer.

Deze optie wordt de /E-optie van cl.

-e epsym

stelt het ingangspunt in (wordt doorgegeven aan de linker).

-ffloat

specificeert de floating point-opties die de compiler en de linker gebruiken:

-f- no floating point required-f emulated floating point-fp hardware floating point (using 80x87 coprocessor)

Opmerking:

Deze optie is verouderd en geeft een waarschuwing. Deze optie is bedoeld voor achterwaartse compatibiliteit en is niet beschikbaar met cxxor wanneer u werkt in de ontwikkelomgeving van de PTC MKS Toolkit UNIX API’s.

-g

produceert foutopsporingsinformatie in de gecompileerde objectmodules.

Deze optie wordt de /Z7-optie van cl.

-I directory

voegt directory toe aan het begin van de lijst met directory’s die moeten worden doorzocht op include-bestanden (de waarde van de omgevingsvariabele %Include%). Mappen die op de opdrachtregel worden opgegeven, worden eerst doorzocht, in de volgorde waarin ze op de opdrachtregel staan.

Deze optie wordt de /Idirectory-optie van cl.

-l library

indien gekoppeld, wordt de opgegeven bibliotheek toegevoegd aan de lijst van bibliotheken die moeten worden doorzocht.Bij het zoeken naar bibliotheken (bijvoorbeeld met -lfoo), wordt elke bibliotheekdirectory eerst doorzocht op de UNIX-stijl archiefnaam (dat wil zeggen, libfoo.a) en vervolgens naar de Windows-stijl bibliotheeknaam (dat is, foo.lib).

Deze optie wordt doorgegeven aan de linker.

-L directory

bij het linken, voegt de directory toe aan het begin van de lijst van directories die de linker doorzoekt voor bibliotheken (de waarde van de %Lib% omgevingsvariabele). Directories die op de opdrachtregel zijn opgegeven, worden eerst doorzocht, in de volgorde waarin ze op de opdrachtregel staan.

Deze optie wordt doorgegeven aan de linker.

-m

produceert een link map.

Deze optie wordt doorgegeven aan de linker.

-mmodel

specifieert het geheugenmodel dat de compiler en linker gebruiken.De modellen kunnen zijn:

-ms small model-mm medium model-ml large model-mf flat model (32-bit)-mc compact model-mh huge model

Opmerking:

Deze optie is verouderd en geeft een waarschuwing. Deze optie is bedoeld voor achterwaartse compatibiliteit en is niet beschikbaar met cxxor wanneer u werkt in de PTC MKS Toolkit UNIX APIs-ontwikkelomgeving.

-M

geeft informatie over meervoudig gedefinieerde symbolen.

Opmerking:

Dit gedrag is alleen beschikbaar wanneer u werkt in de PTC MKS Toolkit UNIX APIs-ontwikkelomgeving. Anders is -M identiek aan de -m optie.

-o output

specifieer de naam van het uitvoerbestand dat door de linker wordt gegenereerd. Als -c en -o beide zijn gespecificeerd, wordt de -o optie genegeerd; u kunt echter wel een naam opgeven voor het objectbestand dat wordt gegenereerd met -W/Foobj_file.

Opmerking:

Wanneer u in de PTC MKS Toolkit UNIX APIs ontwikkelomgeving werkt, wordt de -oo optie niet genegeerd. In plaats daarvan gedraagt deze zich als -W/Foobj_file en specificeert de naam van het gegenereerde objectbestand.

Bestandsnamen gespecificeerd met de -W/Fo optie moeten een .o of .obj extensie hebben. Als de bestandsnaam niet zo’n extensie heeft, wordt de huidige extensie vervangen door .obj voordat de linker wordt aangeroepen. Wanneer echter ook -c wordt opgegeven, gelden er geen beperkingen voor de extensie van het opgegeven bestand.

-O

instrueert de compiler om geoptimaliseerde code te genereren.

Deze optie wordt de /Ox optie van cl.

-P

slaat de uitvoer van de preprocessor op in een bestand, waarbij de bestandsnaam wordt verkregen door de extensie .c (of .cpp) te vervangen door .i.

-s

wanneer u koppelt, verwijdert u debug-informatie uit het uitvoerbestand.

Deze optie wordt doorgegeven aan de linker.

-S

produceert een listing van de assemblagecode. Het achtervoegsel voor het listing-bestand is .asm. Deze listing bevat bron- en assemblagecode.

Deze optie wordt de /FAs optie voor cl.

-static

vraagt om koppeling met de statische C++ runtime bibliotheken.Dit wordt niet aanbevolen.

Wanneer deze optie niet wordt opgegeven, is de /MD tocl de standaard voor C++ en worden multithreaded DLL’s geproduceerd.

-u symname

voegt bij het linken een ongedefinieerde verwijzing naar symname toe.

Deze optie wordt doorgegeven aan de linker.

-U symname

definieert het opgegeven preprocessor symbool.

Deze optie wordt de /Usymname optie voor cl.

-VS num

wordt doorgegeven aan de /VERSION linker optie.

-Wc++

forceert het C++ linken.

Deze optie wordt doorgegeven aan de linker.

Opmerking:

De C++ bibliotheekpaden zijn alleen beschikbaar wanneer u werkt in de ontwikkelomgeving voor de PTC MKS Toolkit UNIX API’s. Als u niet in deze omgeving werkt, moet u deze bibliotheekpaden opgeven met de optie -L.

-Wv

selecteert de verbose-modus.

Deze optie wordt doorgegeven aan de linker.

-W/optie

specifieert een optie die moet worden doorgegeven aan de C-compiler of aan de linker, waarbij de voorloop -W is verwijderd.De opties – subsysteem, def,base, entry, implib,machine, map, out,stack, en dll – worden doorgegeven aan de linker; alle andere worden doorgegeven aan de compiler.

-x

wist bij het linken debug-informatie met betrekking tot lokale symbolen uit het uitvoerbestand.

Deze optie wordt doorgegeven aan de linker.

-Xc

compileert met strikte ANSI C-conformiteit.Alleen de door de ANSI C-specificatie gespecificeerde symbolen zijn zichtbaar tijdens het compileren.

Deze optie wordt de /D__STRICT_ANSI=1 en/D__STDC__=1 opties voor cl.

-Xa -Xs -Xt

compileert met niet-strikte ANSI C-conformiteit. Alleen symbolen die door deANSI C-specificatie worden gespecificeerd, zijn zichtbaar tijdens het compileren.

Deze optie wordt de /D__STDC__=0 tocl.

Weliswaar wordt cc op deze referentiepagina beschreven als een interface naar de Microsoft C-compiler, maar dat is niet de volledige waarheid. In werkelijkheid is cc een configureerbare interface voor elke C-compiler en is het ontworpen voor gebruik met make. In theorie kunt u cc op elk systeem herdefiniëren om met de C-compiler van dat systeem te werken en door cc in uw makefiles te gebruiken, kunt u dezelfde makefile op verschillende systemen gebruiken.

cc gebruikt een compilatieconfiguratiebestand om argumenten op een standaardcommandoregel om te zetten in de argumenten voor het commando of de reeks commando’s die nodig zijn om uw compiler of linker aan te roepen. Als u uw compiler of linker wilt wijzigen, wijzigt u het juiste configuratiebestand; wijzig uw makefile niet.

Het standaardconfiguratiebestand voor cc is

ROOTDIR/etc/compiler.ccg

U kunt een ander configuratiebestand kiezen door de omgevingsvariabele CCG op het gewenste bestand te zetten.Interfaces naar andere compilers zijn mogelijk verkrijgbaar bij MKS.

Als u cc tijdelijk een andere compiler wilt laten gebruiken, kunt u de omgevingsvariabele CCG instellen op de naam van het configuratiebestand voor de gewenste compiler.

Als u het cc-bestand een andere naam geeft, probeert het zijn standaardconfiguratie te vinden in een .ccg-bestand met dezelfde basisnaam als het hernoemde uitvoerbare bestand. Als u bijvoorbeeld cc.exe hernoemt naar c89.exe, zoekt c89 naar een standaardconfiguratiebestand met de naam c89.ccg in ROOTDIR/etc.

Als u een compiler gebruikt waarvoor geen configuratiebestand bestaat, kunt u een bepaald configuratiebestand aanpassen om uw compiler te gebruiken. Lees de referentiepagina met diverse informatie over cc zorgvuldig door en pas een bestaande configuratie aan om uw compiler te gebruiken.

ENVIRONMENT VARIABLES

CCG

identificeert het configuratiebestand voor de gewenste compiler. Als CCG – bevat, leest cc de standaardconfiguratie van de standaardinvoer.Als CCG een bestandsnaam bevat, gebruikt cc dat bestand als standaardconfiguratiebestand.Als CCG een mapnaam bevat, zoekt cc naar de standaardconfiguratie in het cc.ccg-bestand in die map.Als het uitvoerbare bestand een nieuwe naam heeft gekregen, zoekt het naar de standaardconfiguratie in een .ccg-bestand met dezelfde naam als het uitvoerbare bestand.Als cc.exe bijvoorbeeld een nieuwe naam heeft gekregen, zoekt het naar de standaardconfiguratie in $CCG/c89.ccg.

DIAGNOSTICS

Mogelijke waarden voor de exit-status zijn:

0

Succesvolle voltooiing.

>0

Er is een fout opgetreden.

NOOT

Het hulpprogramma cc start, net als veel andere compiler-gerelateerde opdrachten, een geschikt CCG-script (zie de referentiepagina cc diversen) om de beschreven opties te verwerken voordat het de Microsoft-compiler aanroept om het eigenlijke compileren uit te voeren.Het CCG script wordt bepaald door de instelling van de CCG omgevingsvariabele (zie ENVIRONMENT VARIABLES), welke kan variëren afhankelijk van het feit of U al dan niet in de NuTCRACKER Platform ontwikkelomgeving werkt.

Om cc aan te passen (bijvoorbeeld om met een andere compiler te werken), hoeft U alleen maar het CCG script aan te passen dat cc opstart op basis van de instelling van de CCG omgevingsvariabele.

AVAILABILITEIT

Het commando cc is beschikbaar voor de volgende producten:

PTC MKS Toolkit for Developers
PTC MKS Toolkit for Interoperability
PTC MKS Toolkit for Professional Developers
PTC MKS Toolkit for Professional Developers 64-Bit Edition
PTC MKS Toolkit for Enterprise Developers
PTC MKS Toolkit for Enterprise Developers 64-Bit Edition
PTC Windchill Requirements and Validation

Het commando cxx is beschikbaar met de volgende producten:

PTC MKS Toolkit for Professional Developers
PTC MKS Toolkit for Professional Developers 64-Bit Edition
PTC MKS Toolkit for Enterprise Developers
PTC MKS Toolkit for Enterprise Developers 64-Bit Edition

SEE ALSO

Commando’s: ld, make Diversen: cc

PTC MKS Toolkit 10.3 Documentatie Build 39.


Plaats een reactie