cc, cxx — interfaces aux compilateurs C et C++ de Microsoft

SYNOPSIS

cc]]fichiers…

cxx]fichiers…

DESCRIPTION

Les commandes cc et cxx servent d’interfaces au compilateur C de Microsoft (cl).Les versions 5.0 et supérieures de ce compilateur sont prises en charge.cc sert à compiler les fichiers C, tandis que cxx sert à compiler les fichiers C++.

Note :

Le comportement de cc dépend du fait que vous travaillez ou non dans l’environnement de développement standard de MKS Toolkit ou dans l’environnement de développement conçu pour être utilisé avec les API UNIX de MKS Toolkit.

cxx n’est disponible que dans l’environnement de développement PTC MKS Toolkit UNIX APIs.

Ces commandes ne sont que des wrappers qui invoquent l’utilitaire cl.Si vous utilisez PTC MKS Toolkit for Professional Developers ou PTC MKS Toolkit for Developers, la présence de clin PATH est vérifiée lors de l’installation.Pour les autres produits Toolkit, vous devez vous assurer vous-même que clis se trouve dans le PATH.

Les fichiers avec un suffixe .c sont considérés comme des fichiers source C,les fichiers avec une extension .cpp ou .cxx sont considérés comme des fichiers source C++, et les fichiers avec une extension .asm sont considérés comme des fichiers source en langage d’assemblage.La présence de fichiers source avec une extension .cpp ou .cxx entraîne automatiquement la compilation des fichiers source comme si la commandecxx avait été invoquée à la place.

Les commandes cc et cxx règlent implicitement les commutateurs de compilateur Microsoft suivants (pour les plates-formes Intel uniquement):

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

Remarque :

L’option /D_NUTC_=0x430 est uniquement réglée lorsque vous travaillez dans l’environnement de développement PTC MKS Toolkit UNIX APIs.

L’option /Qifdiv- est uniquement définie lorsque vous travaillez dans l’environnement de développement PTC MKS Toolkit UNIX APIs et n’est disponible que pour Microsoft Visual Studio 2.1 ou plus récent.

Vous pouvez utiliser le drapeau -W/option pour passer des options directement à cl.Ce faisant, veillez à ne pas entrer en conflit avec les options que cette commande définit. Par exemple, le niveau d’avertissement par défaut du compilateur est fixé à/W3. L’option -W/Wn peut être utilisée pour remplacer cette valeur par défaut.Les options cl spécifiées avec -W remplacent les options cl générées par d’autres options cc orcxx.

Options

-c

compile seulement – ne lie pas.

Cette option devient l’option /c de cl.

-C

passe les commentaires dans la sortie du préprocesseur.

Cette option devient l’option /C de cl.

-Dname

définit un symbole de préprocesseur avec une valeur optionnelle.

Cette option devient l’option /Dname=valeur de cl.

-E

envoie toute la sortie du préprocesseur sur la sortie standard.

Cette option devient l’option /E de cl.

-e epsym

définit le point d’entrée (transmis à l’éditeur de liens).

-ffloat

spécifie les options de virgule flottante que le compilateur et l’éditeur de liens utilisent :

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

Note :

Cette option est obsolète et produit un avertissement. Elle est fournie à des fins de rétrocompatibilité et n’est pas disponible avec cxxor lorsque vous travaillez dans l’environnement de développement PTC MKS Toolkit UNIX APIs.

-g

produit des informations de débogage dans les modules objets compilés.

Cette option devient l’option /Z7 de cl.

-I directory

ajoute directory au début de la liste des répertoires à rechercher pour les fichiers include(la valeur de la variable d’environnement %Include%). Tous les répertoires fournis sur la ligne de commande sont recherchés en premier, dans l’ordre dans lequel ils apparaissent sur la ligne de commande.

Cette option devient l’option /Idirectory de cl.

-l library

si elle est liée, ajoute la bibliothèque spécifiée à la liste des bibliothèques à rechercher.En recherchant des bibliothèques (par exemple, avec -lfoo),chaque répertoire de bibliothèque est d’abord recherché pour le nom d’archive de style UNIX (c’est-à-dire, libfoo.a) et ensuite pour le nom de bibliothèque de style Windows (c’est-à-dire, foo.lib).

Cette option est transmise à l’éditeur de liens.

-L directory

si l’on établit un lien, ajoute le répertoire au début de la liste des répertoires que l’éditeur de liens recherche pour les bibliothèques (la valeur de la variable %Lib%environnement). Tous les répertoires fournis sur la ligne de commande sont recherchés en premier, dans l’ordre dans lequel ils apparaissent sur la ligne de commande.

Cette option est transmise à l’éditeur de liens.

-m

produit une carte de liens.

Cette option est transmise à l’éditeur de liens.

-mmodel

spécifie le modèle de mémoire que le compilateur et l’éditeur de liens utilisent.Les modèles peuvent inclure :

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

Note :

Cette option est obsolète et produit un avertissement. Elle est fournie à des fins de rétrocompatibilité et n’est pas disponible avec cxxor lorsque vous travaillez dans l’environnement de développement des API UNIX de la boîte à outils PTC MKS.

-M

comporte des symboles définis de manière multiple.

Remarque :

Ce comportement n’est disponible que lorsque vous travaillez dans l’environnement de développement des API UNIX de la boîte à outils PTC MKS. Sinon, -M est identique à l’option -m.

-o output

spécifie le nom du fichier de sortie généré par l’éditeur de liens. Cette option est passée à l’éditeur de liens.Si -c et -o sont tous deux spécifiés, l’option-o est ignorée ; cependant, vous pouvez spécifier un nom pour le fichier objet généré avec -W/Foobj_file.

Remarque :

Lorsque vous travaillez dans l’environnement de développement PTC MKS Toolkit UNIX APIs, l’option -oop n’est pas ignorée. Au lieu de cela, elle se comporte comme -W/Foobj_file et spécifie le nom du fichier objet généré.

Les noms de fichiers spécifiés avec l’option -W/Fo doivent avoir une extension .o ou .obj. Si le nom du fichier n’a pas une telle extension, son extension actuelle est remplacée par .obj avant d’invoquer l’éditeur de liens. Cependant, lorsque -cis est également spécifié, il n’y a pas de restrictions sur l’extension du fichier spécifié.

-O

indique au compilateur de générer un code optimisé.

Cette option devient l’option /Ox de cl.

-P

stocke la sortie du préprocesseur dans un fichier, où le nom du fichier est obtenu en remplaçant l’extension .c(ou .cpp) par .i.

-s

lors de l’édition de liens, dépouille les informations de débogage du fichier de sortie.

Cette option est transmise à l’éditeur de liens.

-S

produit un listing de code d’assemblage. Le suffixe du fichier de listing est .asm. Ce listing comprend le code source et le code d’assemblage.

Cette option devient l’option /FAs de cl.

-static

demande la liaison contre les bibliothèques d’exécution C++ statiques.Ce n’est pas recommandé.

Lorsque cette option n’est pas spécifiée, le tocl /MD est le défaut pour C++ et les DLL multithreads sont produites.

-u symname

lors de la liaison, ajoute une référence non définie à symname.

Cette option est transmise à l’éditeur de liens.

-U symname

définit le symbole de préprocesseur spécifié.

Cette option devient l’option /Usymname de cl.

-VS num

passe à l’option /VERSION de l’éditeur de liens.

-Wc++

Force la liaison C++.

Cette option est transmise à l’éditeur de liens.

Remarque :

Les chemins des bibliothèques C++ ne sont disponibles que lorsque vous travaillez dans l’environnement de développement des API UNIX de la boîte à outils PTC MKS. Si vous ne travaillez pas dans cet environnement,vous devez spécifier ces chemins de bibliothèque avec l’option -L.

-Wv

sélectionne le mode verbeux.

Cette option est transmise à l’éditeur de liens.

-W/option

spécifie une option qui doit être passée soit au compilateur C soit à l’éditeur de liensavec le -W de tête enlevé.Les options – subsystem, def,base, entry, implib,machine, map, out,stack, et dll – sont passées à l’éditeur de liens;toutes les autres sont passées au compilateur.

-x

lors de la liaison, dépouille les informations de débogage liées aux symboles locaux du fichier de sortie.

Cette option est passée à l’éditeur de liens.

-Xc

compile avec une stricte conformité ANSI C.Seuls les symboles spécifiés par la spécification ANSI C sont visibles pendant la compilation.

Cette option devient les options /D__STRICT_ANSI=1 et/D__STDC__=1 de cl.

-Xa -Xs -Xt

compile avec une conformité ANSI C non stricte. Seuls les symboles spécifiés par la spécificationANSI C sont visibles pendant la compilation.

Cette option devient le /D__STDC__=0 tocl.

Bien que cette page de référence décrive cc comme une interface au compilateur C de Microsoft, ce n’est pas la vérité complète. En vérité, cc est une interface configurable pour n’importe quel compilateur C et est conçu pour être utilisé avec make. Théoriquement, vous pouvez simplement redéfinir cc sur chaque système pour qu’il fonctionne avec le compilateur C de ce système et en utilisant simplement cc dans vos makefiles, vous pouvez utiliser ces mêmes makefiles sur différents systèmes.

cc utilise un fichier de configuration de compilationpour convertir les arguments d’une ligne de commande standard en arguments pour la commande ou la séquence de commandes nécessaires pour appeler votre compilateur ou linker. Si vous voulez changer votre compilateur ou linker, changez le fichier de configuration approprié ; ne changez pas votre makefile.

Le fichier de configuration par défaut de cc est

ROOTDIR/etc/compiler.ccg

Vous pouvez choisir un fichier de configuration différent en paramétrant la variable d’environnement CCG pour qu’elle pointe sur le fichier souhaité.Des interfaces vers d’autres compilateurs peuvent être disponibles auprès de MKS.

Si vous voulez que cc utilise temporairement un compilateur différent,vous pouvez définir la variable d’environnement CCG sur le nom du fichier de configuration du compilateur souhaité.

Si vous renommez l’exécutable cc, il tente de trouver sa configuration par défaut dans un fichier .ccg ayant le même nom de base que l’exécutable renommé.Par exemple, si vous renommez cc.exe en c89.exe,c89 recherche un fichier de configuration par défaut nomméc89.ccg dans ROOTDIR/etc.

Si vous utilisez un compilateur qui n’a pas de fichier de configuration, vous pouvez personnaliser un fichier de configuration donné pour utiliser votre compilateur.Lisez attentivement la page de référence des informations diverses de cc, et modifiez une configuration existante pour utiliser votre compilateur.

Variables d’environnement

CCG

identifie le fichier de configuration pour le compilateur souhaité.Si CCG contient -, cc lit la configuration par défaut à partir de l’entrée standard.Si CCG contient un nom de fichier, cc utilise ce fichier comme fichier de configuration par défaut.Si CCG contient un nom de répertoire, cc recherche la configuration par défaut dans le fichier cc.ccg de ce répertoire.Si l’exécutable a été renommé, il recherche la configuration par défaut dans un fichier .ccg portant le même nom que l’exécutable.Par exemple, si cc.exe est renommé en c89.exe,il recherche la configuration par défaut dans $CCG/c89.ccg.

DIAGNOSTIC

Les valeurs d’état de sortie possibles sont :

0

Successful completion.

>0

An error occurred.

NOTE

L’utilitaire cc, comme beaucoup d’autres commandes liées au compilateur, lance en fait un script CCG approprié (voir la page de référence diverse cc) pour retraiter les options décrites avant d’appeler le compilateur Microsoft pour effectuer le compilateur réel.L’exécution réelle du script CCG est déterminée par le paramétrage de la variable d’environnement CCG (voir VARIABLES D’ENVIRONNEMENT) qui peut varier selon que vous travaillez ou non dans l’environnement de développement de la plate-forme NuTCRACKER.

Pour modifier cc (par exemple, pour travailler avec un compilateur différent), vous devez simplement modifier le script CCG qui ccrunche en fonction du paramétrage de la variable d’environnement CCG.

DISPONIBILITÉ

La commande cc est disponible avec les produits suivants :

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

La commande cxx est disponible avec les produits suivants :

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

Commandes : ld, make Divers : cc

PTC MKS Toolkit 10.3 Documentation Build 39.


Laisser un commentaire