SYNOPSIS
cc]]files…
cxx]files…
DESCRIPȚIE
Comanda cc și cxx servesc ca interfețe pentru compilatorul Microsoft C (cl).Sunt acceptate versiunile 5.0 și superioare ale acestui compilator.cc este pentru compilarea fișierelor C, în timp ce cxx este pentru compilarea fișierelor C++.
Notă:
Comportamentul cc depinde de faptul dacă lucrați sau nu în mediul de dezvoltare standard MKS Toolkit sau în mediul de dezvoltare conceput pentru utilizarea cu API-urile MKS Toolkit UNIX.
cxx este disponibil numai în mediul de dezvoltare al API-urilor de dezvoltare PTC MKS Toolkit UNIX APIs.
Aceste comenzi sunt doar wrappers care invocă utilitatea cl. Dacă utilizați PTC MKS Toolkit for Professional Developers sau PTC MKS Toolkit for Developers, prezența clin PATH este verificată în timpul instalării.Pentru alte produse Toolkit, trebuie să vă asigurați singur că cl este în PATH.
Filele cu sufixul .c sunt considerate a fi fișiere sursă C,fișierele cu extensia .cpp sau .cxx sunt considerate a fi fișiere sursă C++, iar fișierele cu extensia .asm sunt considerate a fi fișiere sursă în limbaj de asamblare.Prezența fișierelor sursă cu extensia .cpp sau .cxxautoprovoacă automat compilarea fișierelor sursă ca și cum în locul lor ar fi fost invocată comandacxx.
Comanda cc și cxx setează implicit următoarele comenzi de compilare Microsoft (numai pentru platformele Intel):
/D_X86_/D_NUTC_=0x430 (Value changes with each release)/Zl/Qifdiv-
Notă:
Opțiunea /D_NUTC_=0x430 este setată numai atunci când se lucrează în mediul de dezvoltare PTC MKS Toolkit UNIX APIs.
Opțiunea /Qifdiv- este setată numai atunci când se lucrează în mediul de dezvoltare PTC MKS Toolkit UNIX APIs și este disponibilă numai pentru Microsoft Visual Studio 2.1 sau o versiune ulterioară.
Puteți utiliza markerul -W/optionflag pentru a transmite opțiunile direct către cl. În acest sens, aveți grijă să nu intrați în conflict cu opțiunile pe care le stabilește această comandă. De exemplu, nivelul de avertizare implicit al compilatorului este setat la/W3. Opțiunea -W/Wn poate fi utilizată pentru a suprascrie această valoare implicită.opțiunile cl specificate cu -W suprascriu opțiunile cl generate de alte opțiuni cc orcxx.
Opțiuni
-c
compilează numai – nu face legătura.
Această opțiune devine opțiunea /c a cl.
-C
Pasează comentariile în ieșirea preprocesorului.
Această opțiune devine opțiunea /C a cl.
-Dname
definește un simbol preprocesor cu o valoare opțională.
Această opțiune devine opțiunea /Dname=valoare a cl.
-E
întoarce toată ieșirea preprocesorului la ieșirea standard.
Această opțiune devine opțiunea /E a cl.
-e epsym
setează punctul de intrare (transmis către linker).
-ffloat
specifică opțiunile de virgulă mobilă pe care compilatorul și linkerul le folosesc:
-f- no floating point required-f emulated floating point-fp hardware floating point (using 80x87 coprocessor)
Notă:
Această opțiune este depășită și produce un avertisment. Este furnizată pentru compatibilitate retroactivă și nu este disponibilă cu cxxor atunci când se lucrează în mediul de dezvoltare PTC MKS Toolkit UNIX APIs.
-g
produce informații de depanare în modulele de obiecte compilate.
Această opțiune devine opțiunea /Z7 pentru cl.
-I director
adăugă directorul laînceputul listei de directoare care trebuie căutate pentru fișierele de includere (valoarea variabilei de mediu %Include%). Oricedirectoare furnizate pe linia de comandă sunt căutate mai întâi, în ordinea în care apar pe linia de comandă.
Această opțiune devine opțiunea /Idirectory a cl.
-l library
dacă se leagă, adaugă biblioteca specificată la lista de biblioteci care trebuie căutate.În căutarea bibliotecilor (de exemplu, cu -lfoo),fiecare director de bibliotecă este căutat mai întâi după numele de arhivă în stil UNIX (adică libfoo.a) și apoi pentru numele bibliotecii în stil Windows(adică foo.lib).
Această opțiune este transmisă linkerului.
-L director
în cazul în care se face legătura, adaugă directorul la începutul listei de directoare pe care linkerul le caută pentru biblioteci (valoarea variabilei de mediu %Lib%). Orice directoare furnizate pe linia de comandă sunt căutate mai întâi, în ordinea în care apar pe linia de comandă.
Această opțiune este transmisă către linker.
-m
produce o hartă de legătură.
Această opțiune este transmisă către linker.
-mmodel
specifică modelul de memorie pe care compilatorul și linkerul îl folosesc.Modelele pot include:
-ms small model-mm medium model-ml large model-mf flat model (32-bit)-mc compact model-mh huge model
Notă:
Această opțiune este depășită și produce un avertisment. Este furnizată pentru compatibilitate retroactivă și nu este disponibilă cu cxxor atunci când se lucrează în mediul de dezvoltare PTC MKS Toolkit UNIX APIs.
-M
completează despre simbolurile definite multiplu.
Notă:
Acest comportament este disponibil numai atunci când se lucrează în mediul de dezvoltare PTC MKS Toolkit UNIX APIs. În caz contrar, -M este identic cu opțiunea -m.
-o output
specifică numele fișierului de ieșire generat de linker. Această opțiune este transmisă linkerului. dacă -c și -o sunt amândouă specificate, opțiunea-o este ignorată; cu toate acestea, puteți specifica un nume pentrufișierul obiect generat cu -W/Foobj_file.
Notă:
Când se lucrează în mediul de dezvoltare al API-urilor PTC MKS Toolkit UNIX APIs, opțiunea -oopțiune nu este ignorată. În schimb, aceasta se comportă ca și -W/Foobj_file și specifică numele fișierului obiect generat.
Numele fișierelor specificate cu opțiunea -W/Fo trebuie să aibă extensia .o sau .obj. Dacă numele de fișier nu are o astfel de extensie, extensia sa curentă este înlocuită cu .obj înainte de a invoca linkerul. Cu toate acestea, atunci când se specifică și -cis, nu există restricții asupra extensiei fișierului specificat.
-O
instrucționează compilatorul să genereze cod optimizat.
Această opțiune devine opțiunea /Ox pentru cl.
-P
stochează ieșirea preprocesorului într-un fișier, unde numele fișierului se obține prin înlocuirea extensiei .c (sau .cpp) cu .i.
-s
la realizarea legăturii, elimină informațiile de depanare din fișierul de ieșire.
Această opțiune este transmisă linkerului.
-S
produce o listă a codului de asamblare. Sufixul pentru fișierul de listare este .asm. Această listare include codul sursă și codul de asamblare.
Această opțiune devine opțiunea /FAs pentru cl.
-static
recomandă realizarea legăturii cu bibliotecile statice de execuție C++.Acest lucru nu este recomandat.
Când această opțiune nu este specificată, opțiunea /MD tocl este cea implicită pentru C++ și sunt produse DLL-uri multithreaded.
-u symname
la realizarea legăturii, adaugă o referință nedefinită la symname.
Această opțiune este transmisă către linker.
-U symname
definește simbolul de preprocesor specificat.
Această opțiune devine opțiunea /Usymname la cl.
-VS num
trece la opțiunea /VERSION a linkerului.
-Wc++
forțează legarea în C++.
Această opțiune este transmisă către linker.
Notă:
Cărările bibliotecii C++ sunt disponibile numai atunci când se lucrează în mediul de dezvoltare pentru API-urile UNIX ale setului de instrumente PTC MKS Toolkit. Dacă nu lucrați în acest mediu,trebuie să specificați aceste căi de bibliotecă cu opțiunea -L.
-Wv
selectează modul verbose.
Această opțiune este transmisă linkerului.
-W/opțiune
specifică o opțiune care trebuie transmisă fie compilatorului C, fie linkerului, cu -W eliminat. opțiunile – subsystem, def, base, entry, implib, machine, map, out, stack și dll – sunt transmise linkerului; toate celelalte sunt transmise compilatorului.
-x
la realizarea legăturii, elimină informațiile de depanare legate de simbolurile locale din fișierul de ieșire.
Această opțiune este transmisă linkerului.
-Xc
compilează în strictă conformitate cu ANSI C.Numai simbolurile specificate de specificația ANSI C sunt vizibile în timpulcompilării.
Această opțiune devine opțiunile /D__STRICT_ANSI=1 și/D__STDC__=1 pentru cl.
-Xa -Xs -Xt
compilează cu conformare ANSI C non-strictă. Numai simbolurile specificate de specificațiaANSI C sunt vizibile în timpul compilării.
Această opțiune devine opțiunea /D__STDC__=0 tocl.
În timp ce această pagină de referință descrie cc ca fiind o interfață pentrucompilatorul Microsoft C, acesta nu este adevărul complet. În realitate, cc este o interfață configurabilă pentru orice compilator Cși este conceput pentru a fi utilizat cu make. Teoretic, puteți redefini cc pe fiecare sistem pentru a lucra cu compilatorul C al sistemului respectiv și, prin simpla utilizare a cc în fișierele make, puteți utiliza aceleași fișiere make pe diferite sisteme.
cc utilizează un fișier de configurare a compilației pentru a converti argumentele de pe o linie de comandă standard în argumente pentru comanda sau secvența de comenzi necesare pentru a apela compilatorul sau linkerul dumneavoastră. Dacă doriți să schimbați compilatorul sau linkerul, modificați fișierul de configurare corespunzător; nu modificați fișierul makefile.
Filierul de configurare implicit pentru cc este
ROOTDIR/etc/compiler.ccg
Puteți alege un alt fișier de configurare prin setarea variabilei de mediu CCG pentru a indica fișierul dorit.Interfețe pentru alte compilatoare pot fi disponibile de la MKS.
Dacă doriți ca cc să utilizeze temporar un alt compilator,puteți seta variabila de mediu CCGla numele fișierului de configurare pentru compilatorul dorit.
Dacă redenumiți executabilul cc, acesta încearcă să găsească configurația sa implicită într-un fișier .ccg cu același nume de bază ca și executabilul redenumit.De exemplu, dacă redenumiți cc.exe în c89.exe, c89 caută un fișier de configurare implicită numitc89.ccg în ROOTDIR/etc.
Dacă utilizați un compilator care nu are un fișier de configurare,puteți personaliza un fișier de configurare dat pentru a utiliza compilatorul dumneavoastră.Citiți cu atenție pagina de referință cu informații diverse cc și modificați o configurație existentă pentru a utiliza compilatorul dumneavoastră.
VARIABILE DE ÎNVĂȚĂMÂNT
CCG
identifică fișierul de configurare pentru compilatorul dorit.Dacă CCG conține -, cc citește configurația implicită de la intrarea standard.Dacă CCG conține un nume de fișier, cc utilizează acel fișier ca fișier de configurare implicită.Dacă CCG conține un nume de director, cc caută configurația implicită în fișierul cc.ccg din acel director.Dacă executabilul a fost redenumit, caută configurația implicită într-un fișier .ccg cu același nume ca și executabilul.De exemplu, dacă cc.exe este redenumit în c89.exe, caută configurația implicită în $CCG/c89.ccg.
DIAGNOSTICĂ
Valorile posibile ale stării de ieșire sunt:
0
Finalizare reușită.
>0
A apărut o eroare.
NOTA
Utilitarul cc, la fel ca multe dintre celelalte comenzi legate de compilator, lansează de fapt un scriptCCG corespunzător (vezi pagina de referință diversă cc) pentru aprelucra opțiunile descrise înainte de a apela compilatorul Microsoftpentru a efectua compilarea propriu-zisă.Executarea efectivă a scriptului CCG este determinată de setarea variabilei de mediu CCG (a se vedeaVARIABILE DE MEDIU) care poate varia în funcție de faptul că lucrați sau nu în mediul de dezvoltare al platformei NuTCRACKER.
Pentru a modifica cc (de exemplu, pentru a lucra cu un altcompilator), trebuie pur și simplu să modificați scriptul CCG pe care îl execută ccr pe baza setării variabilei de mediu CCG.
DISPONIBILITATE
Comanda cc este disponibilă cu următoarele produse:
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
Comanda cxx este disponibilă cu următoarele produse:
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
VEZI ȘI
Comenzi: ld, make Diverse: cc
PTC MKS Toolkit 10.3 Documentation Build 39.