Content-type: text/html
Manpage of CPP
CPP
Section: GNU (1)
Updated: 03/09/2002
Index
Return to Main Contents
NOM
cpp - Le préprocesseur C
SYNOPSIS
cpp [-Dmacro[=déf]...] [-Umacro]
[-Irép...] [-Wavert...]
[-M|-MM] [-MG] [-MF nom-fichier]
[-MP] [-MQ cible...] [-MT cible...]
[-x langage] [-std=standard]
fichier-entrée fichier-sortie
Seules les options les plus utiles sont listées ici ; voyez plus bas pour
les autres.
DESCRIPTION
Le préprocesseur C, souvent connu sous le nom de cpp, est un
processeur de macros
qui est utilisé automatiquement par le compilateur C pour transformer votre
programme avant la compilation proprement dite. Il est appelé processeur de
macros car il vous permet de définir des macros,
qui sont de brèves abréviations pour des constructions plus longues.
Le préprocesseur C n'est destiné à être utilisé que sur du code source C,
C++ ou Objective C. Par le passé, il a été employé abusivement comme un
processeur de texte général. Il se cassera les dents sur de l'entrée qui
n'obéit pas aux règles lexicales du C. Par exemple, les apostrophes seront
interprétées comme le début de constantes caractères, et provoqueront des
erreurs. De plus, vous ne pouvez vous compter sur lui pour préserver les
caractéristiques de l'entrée qui ne sont pas significatives dans la famille
des langages C. Si un Makefile est prétraité, toutes les tabulations
« dures » seront supprimées, et le Makefile ne fonctionnera pas.
Cela étant dit, vous pouvez souvent parvenir à utiliser cpp sur des choses
qui ne sont pas du C. Les langages de programmation dérivés de l'Algol sont
souvent sûrs (Pascal, Ada, etc.). L'assembleur l'est aussi, avec quelques
précautions. Le mode -traditional préserve plus de caractères
d'espacement, et est dans les autres cas plus permissif. Beaucoup de ces
problèmes peuvent être évités en écrivant des commentaires de style C ou
C++ au lieu des commentaires du langage natif, et en n'utilisant que des
macros simples.
À chaque fois que c'est possible, vous devriez utiliser un préprocesseur
adapté au langage dans lequel vous écrivez. Les versions modernes de
l'assembleur GNU possèdent des outils de gestion des macros. La
plupart des langages de programmation de haut niveau disposent de leurs
propres mécanismes de compilation conditionnelle et d'inclusion. En
dernier recours, essayez un processeur de texte réellement général,
comme GNU M4.
Les préprocesseurs C se différencient en quelques détails. Ce manuel
discute du préprocesseur C GNU, qui fournit un petit sur-ensemble
des fonctionnalités du C Standard ISO. Dans son mode par défaut, le
préprocesseur GNU C ne fait pas
quelques actions requises par le standard. Ce sont des fonctionnalités qui
sont rarement voire jamais utilisées, et qui peuvent entraîner des
modifications surprenantes de la signification d'un programme qui ne s'y
attend pas. Pour utiliser le C Standard ISO, vous devriez utiliser
les options -std=c89 ou -std=c99, en fonction de la version
du standard que vous voulez. Pour obtenir tous les diagnostics
obligatoires, vous devez également utiliser -pedantic.
OPTIONS
Le préprocesseur C s'attend à deux noms de fichier pour arguments,
fichier-entrée et fichier-sortie. Le préprocesseur lit
fichier-entrée de concert avec tous les autres fichiers spécifiés par
des directives #include. Toute la sortie générée par les fichiers
d'entrée combinés est écrite dans fichier-sortie.
fichier-entrée ou fichier-sortie peut être -, ce qui
pour fichier-entrée signifie de lire à partir de l'entrée standard,
et pour fichier-sortie d'écrire sur la sortie standard. De plus, si
l'un des fichiers est omis, cela signifie la même chose que si -
avait été spécifié pour ce fichier.
À moins que cela ne soit mentionné différemment, ou que l'option se
termine par =, toutes les options qui prennent un argument peuvent le
voir apparaître immédiatement après l'option, ou avec une espace
intermédiaire : -Ifoo et -I foo ont le même effet.
Beaucoup d'options ont un nom composé de plusieurs lettres ; de multiples
options composées d'une seule lettre ne peuvent dès lors pas être
regroupées : -dM est très différent de -d -M.
- -D nom
-
Prédéfinir nom comme une macro, ayant pour définition 1.
- -D nom=définition
-
Prédéfinir la macro nom, possédant la définition
définition. Il n'y a aucune restriction quant au contenu de la
définition, mais si vous invoquez le préprocesseur depuis un
shell ou un programme de type shell, vous pourriez être dans
l'obligation d'utiliser la syntaxe de protection du shell pour
protéger les caractères comme les espaces qui y ont une signification
spéciale.
Si vous voulez définir une macro du type fonction sur la ligne de
commandes, écrivez sa liste d'arguments avec les parenthèses
entourantes avant le signe égal (s'il y en a un). Les parenthèses sont
significatives dans la plupart des shells, et vous devrez donc
protéger l'option.
-D'nom(args...)=définition'
fonctionne avec sh et csh.
Les options -D et -U sont traitées dans leur ordre
d'apparition sur la ligne de commandes. Toutes les options
-imacros fichier et -include fichier sont
traitées après toutes les options -D et -U.
- -U nom
-
Annuler toute définition précédente de nom, qu'elle soit intégrée ou
fournie à l'aide d'une option -D.
- -undef
-
Ne pas prédéfinir de macro spécifique au système. Les macros prédéfinies
habituelles restent définies.
- -I rép
-
Ajouter le répertoire rép à la liste des répertoires où chercher les
fichiers d'en-tête.
Les répertoires nommés avec -I sont parcourus avant les répertoires
d'inclusion système standard.
Il est dangereux de spécifier un répertoire d'inclusion système
standard dans une option -I. Cela fait échouer le
traitement spécial des en-têtes système. Cela peut également faire
échouer les réparations des en-têtes système bogués qu'effectue
GCC lors de son installation.
- -o fichier
-
Écrire la sortie dans le fichier. C'est la même chose que de
spécifier fichier comme second argument non-option pour
cpp. gcc a une interprétation différente du second
argument non-option ; vous devez donc utiliser -o pour
spécifier le fichier de sortie.
- -Wall
-
Active tous les avertissements optionnels qui sont désirables pour du
code normal. Actuellement, il s'agit de -Wcomment et
-Wtrigraphs. Notez que beaucoup des avertissements du
préprocesseur sont activés par défaut et n'ont pas d'option permettant
de les contrôler.
- -Wcomment
-
- -Wcomments
-
Avertir à chaque fois qu'une séquence
de début de commentaire /* apparaît dans un commentaire /*, ou
quand un backslash suivi d'un saut de ligne apparaît dans un
commentaire //.
(Les deux formes ont le même effet.)
- -Wtrigraphs
-
Avertir quand des trigraphes sont rencontrés. Cette option n'avait
auparavant d'effet que si -trigraphs était également spécifié,
mais fonctionne maintenant indépendamment. Des avertissements ne sont
pas fournis pour les trigraphes présents à l'intérieur de
commentaires, car ils n'affectent pas la signification du programme.
- -Wtraditional
-
Avertir de certaines constructions qui se comportent différemment en C
traditionnel et en C ISO.
Avertir également des constructions C ISO qui n'ont pas d'équivalent
en C traditionnel, et des constructions problématiques qui devraient être
évitées.
- -Wimport
-
Avertir la première fois qu'un #import est utilisé.
- -Wundef
-
Avertir quand un identificateur qui n'est pas une macro est rencontré
dans une directive #if, en dehors de defined. De tels
identificateurs sont remplacés par zéro.
- -Werror
-
Traiter les avertissements comme des erreurs pures et dures. Le code
source qui déclenche des avertissements sera rejeté.
- -Wsystem-headers
-
Afficher des messages d'avertissement pour du code des en-têtes
système. Ils sont normalement inutiles pour trouver des bogues dans
votre propre code, et par conséquent supprimés. Si vous êtes
responsable de la bibliothèque système, vous pourriez vouloir les visualiser.
- -w
-
Supprimer tous les avertissements, même ceux que GNU CPP
émet par défaut.
- -pedantic
-
Émettre tous les diagnostics obligatoires listés dans le standard
C. Certains d'entre eux sont laissés de côté par défaut, car ils se
déclenchent fréquemment dans du code inoffensif.
- -pedantic-errors
-
Émettre tous les diagnostics obligatoires, et les traiter comme
des erreurs. Cela inclut les
diagnostics obligatoires que GCC émet sans -pedantic,
mais traite comme des avertissements.
- -M
-
Au lieu de sortir les résultats du prétraitement, générer une règle
convenant à make qui décrit les dépendances du fichier source
principal. Le préprocesseur génère une règle make contenant le
nom du fichier objet pour ce fichier source, un signe deux-points, et
le nom de tous les fichiers inclus, y compris ceux provenant des
options de ligne de commandes -include ou -imacros.
À moins que cela ne soit spécifié explicitement (avec -MT ou
-MQ), le nom du fichier objet est constitué du nom de base du
fichier source où le suffixe éventuel est remplacé par le suffixe de
fichier objet. S'il y a beaucoup de fichiers inclus, alors la règle est
découpée en plusieurs lignes en utilisant \-newline. La règle n'a
pas de commande.
Cette option ne supprime pas la sortie de débogage du préprocesseur,
comme -dM. Pour éviter de mélanger une telle sortie de débogage
avec les règles de dépendances, vous devriez spécifier explicitement
le fichier de sortie des dépendances avec -MF, ou utiliser une
variable d'environnement comme DEPENDENCIES_OUTPUT.
La sortie de débogage sera toujours envoyée dans le flux de sortie normal
comme de coutume.
Passer -M au pilote implique -E.
- -MM
-
Comme -M, mais ne pas mentionner les fichiers d'en-tête qui
sont trouvés dans les répertoires d'en-tête système, ni les fichiers
d'en-tête qui sont inclus, directement ou indirectement, depuis un tel
en-tête.
Cela implique que le choix de crochets pointus (< et >) ou de
guillemets dans une directive #include ne détermine pas en
lui-même si l'en-tête apparaîtra dans la sortie de dépendances de
-MM. C'est un léger changement dans la sémantique depuis les
versions 3.0 et antérieures de GCC.
- -MF fichier
-
@anchor{-MF}
Quand utilisé avec -M ou -MM, spécifie un fichier où
écrire les dépendances. Si aucun interrupteur -MF n'est fourni,
le préprocesseur envoie les règles au même endroit où il aurait envoyé
la sortie prétraitée.
Quand il est utilisé avec les options du pilote -MD ou
-MMD, -MF surcharge le fichier de sortie des dépendances
par défaut.
- -MG
-
Quand utilisé avec -M ou -MM, -MG dit de traiter les
fichiers d'en-tête manquants comme des fichiers générés et supposer qu'ils
résident dans le même répertoire que le fichier source. Cela supprime la
sortie prétraitée, car un fichier d'en-tête manquant constitue généralement
une erreur.
Cette fonctionnalité est utilisée lors de la mise à jour automatique de
makefiles.
- -MP
-
Cette option indique à CPP d'ajouter une cible « phony » pour
chaque dépendance autre que le fichier principal, ne les faisant
dépendre de ce fait de rien du tout. Ces règles factices surmontent
des erreurs que vous donne make si vous supprimez des fichiers
d'en-tête sans mettre à jour le Makefile pour qu'il concorde.
Voici une sortie typique :
test.o: test.c test.h
test.h:
- -MT cible
-
Changer la cible de la règle émise lors de la génération des
dépendances. Par défaut, CPP prend le nom du fichier d'entrée
principal, chemin inclus, supprime tout suffixe de fichier
comme .c, et concatène le suffixe de fichier objet habituel de la
plate-forme. Le résultat constitue la cible.
Une option -MT définira la cible pour qu'elle soit exactement
la chaîne de caractères que vous spécifiez. Si vous voulez plusieurs
cibles, vous pouvez les spécifier comme un unique argument de
-MT, ou utiliser plusieurs options -MT.
Par exemple, -MT '$(objpfx)foo.o' pourrait donner
$(objpfx)foo.o: foo.c
- -MQ cible
-
Comme -MT, mais protège les caractères qui sont spéciaux pour
Make. -MQ '$(objpfx)foo.o' donne
$$(objpfx)foo.o: foo.c
La cible par défaut est automatiquement protégée, comme si elle avait été
fournie avec -MQ.
- -MD
-
-MD est équivalent à -M -MF fichier, sauf que
-E n'est pas impliqué. Le pilote détermine le fichier en
fonction de l'utilisation éventuelle d'une option -o est
donnée. Si c'est le cas, le pilote utilise son argument mais avec un
suffixe .d ; sinon, il prend le nom de base du fichier d'entrée
et lui applique un suffixe .d.
Si -MD est utilisé en conjonction avec -E, tout
interrupteur -o est censé spécifier le fichier de sortie des
dépendances (sauf @pxref{-MF}), mais s'il est utilisé sans
-E, chaque -o est censé spécifier un fichier objet cible.
Puisque -E n'est pas impliqué, -MD peut être utilisé
pour générer un fichier de sortie de dépendances comme effet de bord
du processus de compilation.
- -MMD
-
Comme -MD, sauf que seuls les fichiers d'en-tête utilisateurs
sont mentionnés, et pas les fichiers d'en-tête système.
- -x c
-
- -x c++
-
- -x objective-c
-
- -x assembler-with-cpp
-
Spécifier le langage source : C, C++, Objective-C, ou
assembleur. Cela n'a rien à voir avec la conformité aux standards ou
avec des extensions ; cela précise simplement à quelle syntaxe de
base on doit s'attendre. Si vous ne fournissez aucune de ces options,
cpp déduira le langage à partir de l'extension du fichier
source : .c, .cc, .m ou .S. Certaines autres
extensions habituelles pour le C++ et l'assembleur sont également
reconnues. Si cpp ne reconnaît pas l'extension, il traitera le fichier
comme étant du C ; c'est le mode le plus générique.
Note : De précédentes versions de cpp acceptaient une option
-lang qui sélectionnait à la fois le langage et le niveau de
conformité aux standards. Cette option a été supprimée, car elle entre
en conflit avec l'option -l.
- -std=standard
-
- -ansi
-
Spécifier le standard auquel le code devrait se
conformer. Actuellement, cpp ne connaît que les standards du C ;
d'autres standards de langages seront ajoutés dans le futur.
Le standard peut être :
-
- iso9899:1990
-
- c89
-
Le standard C ISO de 1990. c89 est le raccourci habituel
pour cette version du standard.
L'option -ansi est équivalente à -std=c89.
- iso9899:199409
-
Le standard C 1990, comme amendé en 1994.
- iso9899:1999
-
- c99
-
- iso9899:199x
-
- c9x
-
La standard C ISO révisé, publié en décembre 1999. Avant sa
publication, il était connu sous le nom C9X.
- gnu89
-
Le standard C 1990 plus les extensions GNU. C'est le standard
par défaut.
- gnu99
-
- gnu9x
-
Le standard C 1999 plus les extensions GNU.
-
- -I-
-
Diviser le chemin d'inclusion. Tout répertoire spécifié avec une
option -I avant -I- n'est parcouru que pour les en-têtes
requis avec « #include "fichier" » ; il n'est pas
parcouru pour des « #include <fichier> ». Si des
répertoires additionnels sont spécifiés par des options -I
après le -I-, ces répertoires sont parcourus pour chaque
directive #include.
De plus, -I- empêche l'utilisation du répertoire courant (où
est situé le fichier d'entrée actuel) comme premier répertoire de
recherche pour « #include "fichier" ».
-nostdinc
-
Ne pas chercher les fichiers d'en-tête dans les répertoires standard du
système. Seuls les répertoires que vous avez spécifiés avec des options
-I (et le répertoire courant, si c'est approprié) sont parcourus.
- -nostdinc++
-
Ne pas rechercher de fichiers d'en-tête dans les répertoires standard
spécifiques au C++, mais toujours les chercher dans les autres
répertoires standard. (Cette option est utilisée lors de la construction de
la bibliothèque C++.)
- -include fichier
-
Traiter fichier comme si « #include "fichier" »
était apparu comme première ligne du fichier source
principal. Néanmoins, le premier répertoire parcouru pour trouver
fichier est le répertoire de travail du préprocesseur plutôt
que le répertoire contenant le fichier source principal. S'il n'est
pas trouvé là, il est recherché dans le reste de la chaîne de
recherche « #include "..." » comme de coutume.
Si plusieurs options -include sont fournies, les fichiers sont
inclus dans leur ordre d'apparition sur la ligne de commandes.
- -imacros fichier
-
Exactement comme -include, sauf que toute sortie produite lors
de l'analyse du fichier est jetée. Les macros qu'il définit
restent définies. Cela vous permet d'obtenir toutes les macros d'un
en-tête sans devoir également traiter ses déclarations.
Tous les fichiers spécifiés par -imacros sont traités avant
tous les fichiers spécifiés par -include.
- -idirafter répertoire
-
Rechercher des fichiers d'en-tête dans le répertoire, mais
après que les répertoires spécifiés par -I et les
répertoires système standard aient été épuisés. répertoire est
traité comme un répertoire d'inclusion système.
- -iprefix préfixe
-
Spécifier le préfixe des options -iwithprefix
ultérieures. Si le préfixe représente un répertoire, vous devriez
inclure le / final.
- -iwithprefix répertoire
-
- -iwithprefixbefore répertoire
-
Concaténer répertoire au préfixe spécifié précédemment avec
-iprefix, et ajouter le répertoire résultant au chemin de
recherche d'inclusion. -iwithprefixbefore le place au même
endroit que le ferait -I ; -iwithprefix le place au
même endroit que -idirafter.
L'utilisation de ces options est découragée.
- -isystem répertoire
-
Rechercher des fichiers d'en-tête dans le répertoire, après tous
les répertoires spécifiés par -I, mais avant les répertoires
système standard. Le marquer comme étant un répertoire système, afin
qu'il ait droit au même traitement spécial que celui qui s'applique
aux répertoires système standard.
- -fpreprocessed
-
Indiquer au préprocesseur que le fichier d'entrée a déjà été
prétraité. Cela supprime certaines choses comme l'expansion des
macros, la conversion des trigraphes, le découpage de sauts de ligne
protégés (escaped newline splicing), et le traitement de la plupart
des directives. Le préprocesseur reconnaît et supprime toujours les
commentaires, afin que vous puissiez passer au compilateur un fichier
prétraité avec -C sans conséquence fâcheuse. Dans ce mode, le
préprocesseur intégré est un peu plus qu'un analyseur lexical pour les
frontaux.
-fpreprocessed est implicite si le fichier d'entrée possède
l'une des extensions .i, .ii ou .mi. Ce sont les
extensions que GCC utilise pour les fichiers prétraités créés
par -save-temps.
- -ftabstop=largeur
-
Fixer la distance entre les taquets de tabulation. Cela aide le
préprocesseur à rapporter des numéros de colonnes corrects dans les
avertissements ou erreurs, même si des tabulations apparaissent sur la
ligne. Si la valeur est plus petite que 1 ou plus grande que 100,
l'option est ignorée. La distance par défaut est 8.
- -fno-show-column
-
Ne pas afficher les numéros des colonnes dans les diagnostics. Cela
peut être nécessaire si les diagnostics sont exploités par un
programme qui ne comprend pas les numéros de colonnes, comme
dejagnu.
- -A prédicat=réponse
-
Faire une assertion de prédicat prédicat et de réponse
réponse. Cette forme est préférée à la forme plus ancienne
-A prédicat(réponse), qui est toujours
supportée, car n'utilisant pas les caractères spéciaux du shell.
- -A -prédicat=réponse
-
Annuler une assertion de prédicat prédicat et de réponse réponse.
- -A-
-
Annuler toutes les assertions prédéfinies et toutes les assertions
précédant cette option sur la ligne de commandes. Supprimer également
la définition de toutes les macros prédéfinies et de toutes les macros
préalablement spécifiées sur la ligne de commandes. (C'est une
excroissance historique et cela pourrait changer dans le futur.)
- -dCARS
-
CARS est une séquence constituée d'un ou de plusieurs des
caractères suivants, non précédés d'une espace. D'autres caractères
sont interprétés par le compilateur lui-même, ou réservés pour des
versions futures de GCC, et sont par conséquent ignorés
silencieusement. Si vous spécifiez des caractères dont les
comportements ne sont pas compatibles, le résultat est indéfini.
-
- M
-
Au lieu de la sortie normale, générer une liste de directives
#define pour toutes les macros définies durant l'exécution du
préprocesseur, macros prédéfinies comprises. Cela vous donne un moyen
de découvrir ce qui est prédéfini dans votre version du
préprocesseur. En supposant que vous n'avez pas de fichier
foo.h, la commande
touch foo.h; cpp -dM foo.h
affichera toutes les macros prédéfinies.
- D
-
Comme M sauf en deux endroits : il n'inclut pas les
macros prédéfinies, et il sort à la fois les directives
#define et le résultat du prétraitement. Les deux types de
sortie vont dans le fichier de sortie standard.
- N
-
Comme D, mais n'émet que le nom des macros, et pas leur développement.
- I
-
Produire des directives #include en plus du résultat du prétraitement.
-
- -P
-
Empêcher la génération de marqueurs de ligne dans la sortie du
préprocesseur. Cela pourrait être utile quand on exécute le
préprocesseur sur quelque chose qui n'est pas du code C, et qui sera
envoyé à un programme qui pourrait être embrouillé à cause des
marqueurs de ligne.
- -C
-
Ne pas éliminer les commentaires. Tous les commentaires sont passés
dans le fichier de sortie, sauf ceux présents dans les directives
traitées, qui sont effacés en même temps que la directive.
Vous devriez vous attendre à des effets de bord quand vous utilisez
-C ; cette option force le préprocesseur à traiter les
commentaires comme des éléments lexicaux à part entière. Par exemple,
les commentaires apparaissant au début de ce qui serait une ligne de
directive ont pour effet de transformer cette ligne en une ligne de
code source ordinaire, puisque le premier élément lexical de la ligne
n'est plus un #.
- -gcc
-
Définir les macros __GNUC__, __GNUC_MINOR__ et
__GNUC_PATCHLEVEL__. Elles sont définies automatiquement quand
vous utilisez gcc -E ; vous pouvez les désactiver dans ce cas
avec -no-gcc.
- -traditional
-
Essayer d'imiter le comportement du C à l'ancienne, en opposition avec
le C ISO.
- -trigraphs
-
Prendre en charge les séquences de trigraphes.
- -remap
-
Activer du code spécial pour s'accommoder de systèmes de fichiers qui
ne permettent que des noms de fichiers très courts, comme MS-DOS.
- -$
-
Interdire l'utilisation du $ dans les identificateurs. Le
standard C autorise les implémentations à définir des caractères
supplémentaires pouvant apparaître dans les identificateurs. Par
défaut, GNU CPP autorise le $, une extension
habituelle.
- -h
-
- --help
-
- --target-help
-
Afficher du texte décrivant toutes les options de ligne de commandes
au lieu de prétraiter quoi que ce soit.
- -v
-
Mode verbeux. Afficher le numéro de version de GNU CPP au
début de l'exécution, et rapporter la forme finale du chemin d'inclusion.
- -H
-
Afficher le nom de chaque fichier d'en-tête utilisé, en plus d'autres
activités normales. Chaque nom est indenté pour montrer sa profondeur
dans la pile de #include.
- -version
-
- --version
-
Afficher le numéro de version de GNU CPP. Avec un tiret,
continuer le prétraitement comme de coutume. Avec deux tirets,
s'arrêter immédiatement.
ENVIRONNEMENT
Cette section décrit les variables d'environnement qui affectent
la façon dont GCC se comporte. Vous pouvez les utiliser pour
spécifier des répertoires ou des préfixes à utiliser lors de la recherche
de fichiers à inclure, ou pour contrôler la sortie des dépendances.
Notez que vous pouvez également spécifier des endroits où chercher en
utilisant des options comme -I, et contrôler la sortie des
dépendances avec des options comme -M. Elles sont prioritaires sur
les variables d'environnement, qui sont à leur tour prioritaires sur la
configuration de GCC.
- CPATH
-
- C_INCLUDE_PATH
-
- CPLUS_INCLUDE_PATH
-
- OBJC_INCLUDE_PATH
-
La valeur de chaque variable est une liste de répertoires séparés par
un caractère spécial, un peu comme PATH, dans lesquels on
cherche les fichiers d'en-tête. Le caractère
spécial, « PATH_SEPARATOR », dépend de la cible et est déterminé au
moment de la construction de GCC. Pour les cibles basées sur
Windows, c'est un point-virgule, et pour pratiquement toutes les
autres cibles, c'est un signe deux-points.
CPATH spécifie une liste de répertoires à parcourir comme
s'ils avaient été spécifiés par -I, mais après tous les chemins
fournis par des options -I sur la ligne de commandes. La
variable d'environnement est utilisée quel que soit le langage en
cours de prétraitement.
Les variables d'environnement restantes ne s'appliquent que lors du
prétraitement du langage particulier indiqué. Chacune d'entre elles
spécifie une liste de répertoires à parcourir comme s'ils avaient été
spécifiés par -isystem, mais après tous les chemins fournis par
des options -isystem sur la ligne de commandes.
Voyez aussi @ref{Search Path}.
- DEPENDENCIES_OUTPUT
-
@anchor{DEPENDENCIES_OUTPUT}
Si cette variable est définie, sa valeur spécifie la façon de produire
des dépendances pour Make basées sur les fichiers d'en-tête non-système
traités par le compilateur. Les fichiers d'en-tête système sont
ignorés dans la sortie des dépendances.
La valeur de DEPENDENCIES_OUTPUT peut être simplement un
nom de fichier, auquel cas les règles Make sont écrites dans ce
fichier, en devinant le nom de la cible à partir du nom de fichier
source, ou bien la valeur peut avoir la forme fichier
cible, auquel cas les règles sont écrites dans le
fichier en utilisant cible comme nom de cible.
En d'autres termes, cette variable d'environnement est équivalente à
la combinaison des options -MM et -MF, complétée par un
interrupteur -MT éventuel.
- SUNPRO_DEPENDENCIES
-
Cette variable est identique à la variable d'environnement
DEPENDENCIES_OUTPUT, mis à part que les fichiers d'en-tête
système ne sont pas ignorés, et implique donc -M plutôt que
-MM.
Néanmoins, les dépendances du fichier d'entrée principal sont omises.
VOIR AUSSI
gpl(7), gfdl(7), fsf-funding(7),
gcc(1), as(1), ld(1), et les entrées Info pour
cpp, gcc et binutils.
COPYRIGHT
Copyright (c) 1987, 1989, 1991, 1992, 1993, 1994, 1995, 1996,
1997, 1998, 1999, 2000, 2001
Free Software Foundation, Inc.
L'autorisation est donnée de copier, de distribuer et/ou de modifier ce
document sous les termes de la GNU Free Documentation License
version 1.1 ou toute autre version ultérieure publiée par la Free Software
Foundation. Une copie de la licence est incluse dans la page de manuel
gfdl(7).
Ce manuel ne contient aucune section invariante.
Le texte de couverture est (a) (voir ci-dessous), et le texte de quatrième
de couverture est (b) (voir ci-dessous).
(a) Le texte de couverture de la FSF est :
Un Manuel GNU
(b) Le texte de quatrième de couverture de la FSF est :
Vous êtes libre de copier et de modifier ce manuel GNU,
tout comme les logiciels GNU. Les copies publiées par la Free
Software Foundation collectent des fonds pour le
développement de GNU.
TRADUCTION
Frédéric Delanoy <delanoy_f at yahoo.com>, 2002.
Index
- NOM
-
- SYNOPSIS
-
- DESCRIPTION
-
- OPTIONS
-
- ENVIRONNEMENT
-
- VOIR AUSSI
-
- COPYRIGHT
-
- TRADUCTION
-
This document was created by
man2html,
using the manual pages.
Time: 20:41:54 GMT, July 10, 2005