Man Feature_test_macros en français
FEATURE_TEST_MACROS(7) Manuel du programmeur Linux FEATURE_TEST_MACROS(7)
NOM
ftm - Macros de test de fonctionnalites.
SYNOPSIS
#include
DESCRIPTION
Les macros de test de fonctionnalites permettent au programmeur de con-
troler les definitions qui seront exposees par les fichiers d'en-tetes
systeme lorsqu'un programme est compile. Cela est utile pour la cre-
ation d'applications portables, en empechant les definitions non-stan-
dards d'etre exposees. D'autres macros peuvent etre utilisees pour
exposer des definitions non-standards qui ne le sont pas par defaut.
Les effets precis de chacune de ces macros de test de fonctionnalites
decrites plus loin peuvent etre constates en inspectant le fichier
d'en-tete .
Pour quelle soit effective, une macro de test de fonctionnalites doit
etre definie avant l'inclusion de tout autre fichier d'en-tete. Cela
peut etre fait soit dans la commande de compilation (cc
-DMACRO=valeur), soit en definissant la macro dans le code source avant
d'inclure les en-tetes.
Linux/glibc reconnait les macros de test de fonctionnalites suivantes :
_POSIX_C_SOURCE
Definir cette macro avec une valeur de 1 fait que les fichiers
d'en-tetes exposeront les definitions conformes a POSIX.1-1990
et ISO C (1990). Definir cette macro avec une valeur de 199309
ou plus exposera en plus les definitions pour POSIX.1b (exten-
sions temps reel). Definir cette macro avec une valeur de
199506 ou plus exposera en plus les definitions pour POSIX.1c
(threads). Definir cette macro avec une valeur de 200112
exposera les definitions correspondant a la specification de
base de POSIX.1-2001 (excluant l'extension XSI).
_POSIX_C_SOURCE
Definir cette macro obsolete avec n'importe quelle valeur est
equivalent a definir _POSIX_SOURCE a une valeur de 1.
_XOPEN_SOURCE
Definir cette macro avec n'importe quelle valeur fera que les
fichiers d'en-tetes exposeront les definitions conformes a
POSIX.1, POSIX.2 et XPG4. La definir avec la valeur 500 ou plus
exposera en plus les definitions pour SUSv2 (UNIX 98). La
definir avec la valeur 500 ou plus exposera en plus les defini-
tions pour SUSv3 (UNIX 03 ; c'est-a-dire, la specification de
base POSIX.1-2001 plus l'extension XSI) et les definitions C 99.
_XOPEN_SOURCE_EXTENDED
Si cette macro est definie avec la valeur 1 et que _XOPEN_SOURCE
est definie, cela exposera les definitions correspondant aux
extensions UNIX XPG4v2.
_ISOC99_SOURCE
Exposer les extensions C99 de ISO C (1990).
_LARGEFILE64_SOURCE
Exposer les definitions pour l'API alternative specifiee par LFS
(Large File Summit) comme une extention transitionnelle les
Single UNIX Specification . (Voir http://ftp.sas.com/stan-
dards/large.file/.)
_FILE_OFFSET_BITS
Definir cette macro avec la valeur 64 convertira automatiquement
les references aux fonctions 32 bits et aux types de donnees
relatives aux entrees-sorties de fichiers et aux operations sur
le systeme de fichiers en leurs equivalents 64 bits. Cela est
utile pour effectuer des entrees-sorties sur de gros fichiers (>
2 Gigaoctets) sur des systemes 32 bits.
_BSD_SOURCE
Definir cette macro avec n'importe quelle valeur fera que les
fichiers d'en-tetes exposeront les definitions derivees de BSD.
Definir cette macro fera aussi que les definitions BSD seront
preferees dans les situations ou les normes sont en conflit.
_SVID_SOURCE
Definir cette macro avec n'importe quelle valeur fera que les
fichiers d'en-tetes exposeront les definitions derivees de Sys-
teme V. (SVID == System V Interface Definition ; standards(7).)
_GNU_SOURCE
Definir cette macro avec n'importe quelle valeur est equivalent
a definir _BSD_SOURCE, _SVID_SOURCE, _LARGEFILE64_SOURCE,
_ISOC99_SOURCE _POSIX_C_SOURCE avec la valeur 1999506 et
_XOPEN_SOURCE avec la valeur 600. De plus, diverses extensions
specifiques GNU seront egalement exposees.
Lorsque gcc(1) est invoque, les macros suivantes sont definies par
defaut : _BSD_SOURCE, _SVID_SOURCE, _POSIX_SOURCE et
POSIX_C_SOURCE=199506. Si des macros individuelles sont definies, les
autres macros sont desactivees a moins d'etre explicitement definies.
(Exception : si POSIX_C_SOURCE n'est pas definie autrement, elle est
toujours definie avec la valeur 199506, a moins que le compilateur ne
soit invoque dans l'un de ces modes standards, par exemple avec
l'option -std=c99.) Plusieurs macros peuvent etre definies ; les
resultats s'additionnent.
CONFORMITE
POSIX.1 specifie _POSIX_C_SOURCE, _POSIX_SOURCE et _XOPEN_SOURCE.
_XOPEN_SOURCE_EXTENDED etait specifiee par XPG4v2 (aka SUSv1).
_FILE_OFFSET_BITS n'est specifiee par aucune norme mais est employee
dans quelques autres implementations. _BSD_SOURCE, _SVID_SOURCE et
_GNU_SOURCE sont specifiques a Linux (glibc).
NOTES
est un fichier d'en-tete specifique a Linux/glibc.
D'autres systemes ont un fichier analogue mais avec un nom different.
Ce fichier d'en-tete est automatiquement inclus par d'autres fichiers
d'en-tetes comme necessaire : il n'est donc pas necessaire de l'inclure
explicitement pour pouvoir utiliser les macros de test de fonction-
nalites.
TRADUCTION
Ce document est une traduction realisee par Alain Portal le 4 aot 2006 et revisee le 14 aot 2006.
L'equipe de traduction a fait le maximum pour realiser une adaptation
francaise de qualite. La version anglaise la plus a jour de ce document
est toujours consultable via la commande : LANG=C man 7 ftm . N'hes-
itez pas a signaler a l'auteur ou au traducteur, selon le cas, toute
erreur dans cette page de manuel.
Linux 26 avril 2006 FEATURE_TEST_MACROS(7)
|