cc, cxx — interfacce per i compilatori Microsoft C e C++

SYNOPSIS

cc]]file…

cxx]file…

DESCRIZIONE

I comandi cc e cxx servono come interfacce per il compilatore Microsoft C (cl).cc è per la compilazione di file C, mentre cxx è per la compilazione di file C++.

Nota:

Il comportamento di cc dipende dal fatto che stiate lavorando nell’ambiente di sviluppo standard di MKS Toolkit o nell’ambiente di sviluppo progettato per l’uso con le API UNIX di MKS Toolkit.

cxx è disponibile solo nell’ambiente di sviluppo PTC MKS Toolkit UNIX APIs.

Questi comandi sono solo dei wrapper che invocano la clutility.Se state usando PTC MKS Toolkit for Professional Developers o PTC MKS Toolkit for Developers, la presenza di clin PATH viene controllata durante l’installazione.Per altri prodotti Toolkit, è necessario assicurarsi che clis nel PATH.

I file con un suffisso .c sono considerati file sorgente C, i file con estensione .cpp o .cxx sono considerati file sorgente C++, e i file con estensione .asm sono considerati file sorgente in linguaggio assembly.La presenza di file sorgente con estensione .cpp o .cxxautomaticamente fa sì che i file di origine vengano compilati come se invece fosse stato invocato il comando cxx.

I comandi cc e cxx impostano implicitamente i seguenti switch del compilatore Microsoft (solo per piattaforme Intel):

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

Nota:

L’opzione /D_NUTC_=0x430 è impostata solo quando si lavora nell’ambiente di sviluppo PTC MKS Toolkit UNIX APIs.

L’opzione /Qifdiv- è impostata solo quando si lavora nell’ambiente di sviluppo PTC MKS Toolkit UNIX APIs ed è disponibile solo per Microsoft Visual Studio 2.1 o successivo.

È possibile utilizzare il flag -W/option per passare opzioni direttamente a cl. Per esempio, il livello di avvertimento predefinito del compilatore è impostato a/W3. L’opzione -W/Wn può essere usata per sovrascrivere questo default.Le opzioni di cl specificate con -W sovrascrivono le opzioni di cl generate da altre opzioni di cc orcxx.

Opzioni

-c

compila soltanto – non fa il link.

Questa opzione diventa l’opzione /c di cl.

-C

passa i commenti nell’output del preprocessore.

Questa opzione diventa l’opzione /C di cl.

-Dname

definisce un simbolo del preprocessore con un valore opzionale.

Questa opzione diventa l’opzione /Dname=valore di cl.

-E

invia tutto l’output del preprocessore allo standard output.

Questa opzione diventa l’opzione /E di cl.

-e epsym

Imposta il punto di ingresso (passato al linker).

-ffloat

specifica le opzioni in virgola mobile che il compilatore e il linker usano:

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

Nota:

Questa opzione è obsoleta e produce un avviso. È fornita per la compatibilità all’indietro e non è disponibile con cxxor quando si lavora nell’ambiente di sviluppo PTC MKS Toolkit UNIX APIs.

-g

produce informazioni di debug nei moduli oggetto compilati.

Questa opzione diventa l’opzione /Z7 per cl.

-I directory

aggiunge directory all’inizio dell’elenco di directory da cercare per i file di inclusione (il valore della variabile d’ambiente %Include%). Tutte le directory fornite sulla riga di comando vengono cercate per prime, nell’ordine in cui appaiono sulla riga di comando.

Questa opzione diventa l’opzione /Idirectory di cl.

-l library

se si collega, aggiunge la libreria specificata alla lista delle librerie da cercare.Nella ricerca delle librerie (per esempio, con -lfoo), ogni directory di libreria viene prima cercata per il nome dell’archivio in stile UNIX (cioè, libfoo.a) e poi per il nome della libreria in stile Windows (cioè pippo.lib).

Questa opzione viene passata al linker.

-L directory

se si sta linkando, aggiunge la directory all’inizio della lista di directory che il linker cerca per le librerie (il valore della variabile %Lib%environment). Qualsiasi directory fornita sulla linea di comando viene cercata per prima, nell’ordine in cui appare sulla linea di comando.

Questa opzione viene passata al linker.

-m

produce una mappa di collegamento.

Questa opzione viene passata al linker.

-mmodel

specifica il modello di memoria che il compilatore e il linker usano.I modelli possono includere:

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

Nota:

Questa opzione è obsoleta e produce un avviso. È fornita per la compatibilità all’indietro e non è disponibile con cxxor quando si lavora nell’ambiente di sviluppo PTC MKS Toolkit UNIX APIs.

-M

comporta i simboli definiti multipli.

Nota:

Questo comportamento è disponibile solo quando si lavora nell’ambiente di sviluppo PTC MKS Toolkit UNIX APIs. Altrimenti, -M è identico all’opzione -m.

-o output

specifica il nome del file di output generato dal linker. Se -c e -o sono entrambi specificati, l’opzione -o viene ignorata; tuttavia, è possibile specificare un nome per il file oggetto generato con -W/Foobj_file.

Nota:

Quando si lavora nell’ambiente di sviluppo PTC MKS Toolkit UNIX APIs, l’opzione -ooption non viene ignorata. Invece, si comporta come -W/Foobj_file e specifica il nome del file oggetto generato.

I nomi dei file specificati con l’opzione -W/Fo dovrebbero avere un’estensione .o o .obj. Se il nome del file non ha tale estensione, la sua estensione corrente viene sostituita con .obj prima di invocare il linker. Tuttavia, quando viene specificato anche -cis, non ci sono restrizioni sull’estensione del file specificato.

-O

Istruisce il compilatore a generare codice ottimizzato.

Questa opzione diventa l’opzione /Ox di cl.

-P

memorizza l’output del preprocessore in un file, dove il nome del file si ottiene sostituendo l’estensione .c (o .cpp) con .i.

-s

quando si fa il collegamento, elimina le informazioni di debug dal file di output.

Questa opzione viene passata al linker.

-S

produce un elenco del codice assembly. Il suffisso per il file di elenco è .asm. Questo elenco include il codice sorgente e il codice assembly.

Questa opzione diventa l’opzione /FAs per cl.

-static

Richiede il collegamento con le librerie statiche C++ runtime.Questo non è raccomandato.

Quando questa opzione non è specificata, il tocl /MD è il default per C++ e vengono prodotte DLL multithreaded.

-u symname

Quando si fa il link, aggiunge un riferimento indefinito a symname.

Questa opzione viene passata al linker.

-U symname

definisce il simbolo del preprocessore specificato.

Questa opzione diventa l’opzione /Usymname per cl.

-VS num

passa attraverso l’opzione /VERSION del linker.

-Wc++

forza il collegamento di C++.

Questa opzione viene passata al linker.

Nota:

I percorsi delle librerie C++ sono disponibili solo quando si lavora nell’ambiente di sviluppo per le API UNIX di PTC MKS Toolkit. Se non lavorate in questo ambiente, dovete specificare questi percorsi di libreria con l’opzione -L.

-Wv

seleziona la modalità verbosa.

Questa opzione viene passata al linker.

-W/option

specifica un’opzione che deve essere passata o al compilatore C o al linker con l’iniziale -W rimossa.Le opzioni – subsystem, def, base, entry, implib, machine, map, out, stack, e dll – sono passate al linker; tutte le altre sono passate al compilatore.

-x

quando si fa il collegamento, rimuove le informazioni di debug relative ai simboli locali dal file di output.

Questa opzione viene passata al linker.

-Xc

compila con stretta conformità ANSI C.Solo i simboli specificati dalla specifica ANSI C sono visibili durante la compilazione.

Questa opzione diventa le opzioni /D__STRICT_ANSI=1 e/D__STDC__=1 per cl.

-Xa -Xs -Xt

compila con non stretta conformità ANSI C. Solo i simboli specificati dalla specifica ANSI C sono visibili durante la compilazione.

Questa opzione diventa il /D__STDC__=0 tocl.

Mentre questa pagina di riferimento descrive cc come un’interfaccia per il compilatore Microsoft C, questa non è la completa verità. In verità, cc è un’interfaccia configurabile per qualsiasi compilatore C ed è progettato per essere usato con make. Teoricamente, potete semplicemente ridefinire cc su ogni sistema per lavorare con il compilatore C di quel sistema e usando semplicemente cc nei vostri file di make, potete usare quegli stessi file di make su sistemi diversi.

cc usa un file di configurazione di compilazione per convertire gli argomenti su una linea di comando standard negli argomenti per il comando o la sequenza di comandi necessari per chiamare il vostro compilatore o linker. Se volete cambiare il vostro compilatore o linker, cambiate il file di configurazione appropriato; non cambiate il vostro makefile.

Il file di configurazione predefinito per cc è

ROOTDIR/etc/compiler.ccg

Potete scegliere un file di configurazione diverso impostando la variabile ambientale CCG per puntare al file desiderato.Le interfacce per altri compilatori possono essere disponibili da MKS.

Se volete che cc usi temporaneamente un compilatore diverso, potete impostare la variabile d’ambiente CCG sul nome del file di configurazione per il compilatore desiderato.

Se rinominate l’eseguibile cc, esso cerca di trovare la sua configurazione di default in un file .ccg con lo stesso nome base dell’eseguibile rinominato.Per esempio, se rinominate cc.exe in c89.exe, c89 cerca un file di configurazione di default chiamatoc89.ccg in ROOTDIR/ecc.

Se usi un compilatore che non ha un file di configurazione, puoi personalizzare un dato file di configurazione per usare il tuo compilatore.Leggi attentamente la pagina di riferimento cc miscellaneous information, e modifica una configurazione esistente per usare il tuo compilatore.

VARIABILI DI AMBIENTE

CCG

identifica il file di configurazione per il compilatore desiderato.Se CCG contiene -, cc legge la configurazione di default dallo standard input.Se CCG contiene un nome di file, cc usa quel file come file di configurazione predefinito.Se CCG contiene un nome di directory, cc cerca la configurazione predefinita nel file cc.ccg in quella directory.Se l’eseguibile è stato rinominato, cerca la configurazione predefinita in un file .ccg con lo stesso nome dell’eseguibile.Per esempio, se cc.exe è rinominato in c89.exe, cerca la configurazione predefinita in $CCG/c89.ccg.

DIAGNOSTICS

I valori possibili dello stato di uscita sono:

0

Completamento riuscito.

>0

Si è verificato un errore.

NOTE

L’utilità cc, come molti degli altri comandi relativi al compilatore, lancia effettivamente un appropriato scriptCCG (vedi la pagina di riferimento cc miscellaneous) per rielaborare le opzioni descritte prima di chiamare il compilatore Microsoft per eseguire il compilatore vero e proprio.L’effettiva esecuzione dello script CCG è determinata dall’impostazione della variabile d’ambiente CCG (vedere VARIABILI D’AMBIENTE) che può variare a seconda che si stia lavorando o meno nell’ambiente di sviluppo della piattaforma NuTCRACKER.

Per modificare cc (ad esempio, per lavorare con un diverso compilatore), è sufficiente modificare lo script CCG che viene eseguito in base all’impostazione della variabile d’ambiente CCG.

Disponibilità

Il comando cc è disponibile con i seguenti prodotti:

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

Il comando cxx è disponibile con i seguenti prodotti:

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

Comandi: ld, make Varie: cc

PTC MKS Toolkit 10.3 Documentation Build 39.


Lascia un commento