Autotest
#include a pour rôle :
De remplacer dans chaque fichier un mot par une valeur précise
De réaliser une compilation conditionnelle
D'inclure un fichier dans un autre
La constante prédéfinie __DATE__ retourne :
La date de compilation
La date actuelle
La date de création du fichier
La date de dernière modification du fichier
Quelle directive de préprocesseur indique la fin d'un #if ?
#elif
#endif
#ifdef
#ifndef
Je veux protéger mon fichier .h pour éviter qu'il soit inclus plusieurs fois. Pourtant avec le code suivant, je risque quand même une inclusion infinie. Pourquoi ?
#ifndef HEADER_MES_FONCTIONS
#include "autreFichier.h"
#define LARGEUR_PERSONNAGE 30 #define HAUTEUR_PERSONNAGE 60 #define VITESSE_PERSONNAGE 5 #define NOMBRE_VIES_BASE 6
void chargerPersonnage(int longueur, int largeur, int skin); int etatPersonnage(); int niveauSuperieur(int niveauActuel); double prixObjet(int objetAVerifier);
#endif |
La constante doit commencer par DEF_ et non par HEADER_
C'est un #endifndef qu'il faut mettre à la fin et non un #endif
Il faut définir la constante HEADER_MES_FONCTIONS à l'intérieur du #if
Il faut faire un #ifdef et non un #ifndef
En résumé
- Le préprocesseur est un programme qui analyse votre code source et y effectue des modifications avant la compilation.
- L'instruction de préprocesseur #include insère le contenu d'un autre fichier.
- L'instruction #define définit une constante de préprocesseur. Elle permet de remplacer un mot-clé par une valeur dans le code source.
- Les macros sont des morceaux de code tout prêts définis à l'aide d'un #define. Ils peuvent accepter des paramètres.
- Il est possible d'écrire des conditions en langage préprocesseur pour choisir ce qui sera compilé. On utilise notamment les mots-clés #if, #elif et #endif.
- Pour éviter qu'un fichier .h ne soit inclus un nombre infini de fois, on le protège à l'aide d'une combinaison de constantes de préprocesseur et de conditions. Tous vos futurs fichiers .h devront être protégés de cette manière.
Si vous avez un doute sur la qualité de vos réponses, recommencez tout le chapitre.
Créé avec HelpNDoc Personal Edition: Créer des sites web d'aide facilement