©
D. Mathieu
mathieu@romarin.univ-aix.fr
I.U.T.d'Aix en Provence - Département Informatique
Créé le 12/02/2001 -
Dernière mise à jour : 12/02/2001
__LINE__ | représente le numéro de la ligne à laquelle apparaît la macro dans le fichier source |
__FILE__ | représente le nom du fichier source |
__DATE__ | représente la date de compilation du fichier source, sous la forme Mmm dd yyyy, où les noms des mois sont les mêmes que ceux générés par la fonction asctime(), et où le premier caractère de dd est un espace si le jour est inférieur à 10 |
__TIME__ | représente l'heure de compilation du fichier source, sous la forme hh:mm:ss, dans le même format que celui généré par la fonction asctime() |
__STDC__
__cplusplus |
utilisées pour indiquer si le code compilé est en langage C standard ou en langage C++ |
Toutes les macros ci-dessus, sauf __LINE__ et __FILE__, sont constantes pendant toute la durée de la compilation d'une unité de compilation (un fichier source et tous les fichiers qui y sont directement ou indirectement inclus).
La séquence ci-dessous illustre l'utilisation
des quatre premières macros dans le fichier source TestsMacrosStd
:
#define __FILE_LINE__
\
cout << "\nDate de compilation : " << __DATE__ \ << "\nHeure de compilation : " << __TIME__ \ << "\nNom du fichier : " << __FILE__ \ << "\nNuméro de ligne : " << setw (4) << __LINE__ << endl; void Essai (void) { cout << "Début"; __FILE_LINE__ cout << "Suite"; __FILE_LINE__ cout << "Fin"; __FILE_LINE__ } // Essai() |
qui provoque l'affichage suivant :
Début
Date de compilation : Feb 12 2001 Heure de compilation : 20:55:40 Nom du fichier : TestsMacrosStd.cxx Numéro de ligne : 28 Suite Date de compilation : Feb 12 2001 Heure de compilation : 20:55:40 Nom du fichier : TestsMacrosStd.cxx Numéro de ligne : 29 Fin Date de compilation : Feb 12 2001 Heure de compilation : 20:55:40 Nom du fichier : TestsMacrosStd.cxx Numéro de ligne : 30 |
© D. Mathieu
mathieu@romarin.univ-aix.fr
I.U.T.d'Aix en Provence - Département Informatique