Exood4 Studio - Video Game Development, Toulouse (France)
Exood4 Studios Exood4 Tutorials

   
L a n g a g e   C

L a   c o m p i l a t i o n   c o n d i t i o n n e l l e






 Les directives de compilation conditionnelle permettent au prprocesseur d'insrer des lignes de texte source en fonction d'une condition :

#if expression_constante
 groupe_de_lignes_1
#endif

ou

#if expression_constante
 groupe_de_lignes_1
#else
 groupe_de_lignes_2
#endif

 L'expression constante, qui doit avoir une valeur arithmtique, est value. Si sa valeur est non nulle, le groupe de lignes 1 est inclus sinon c'est le groupe de lignes 2 (s'il existe). Ces groupes de lignes sont du texte quelconque, y compris des directives.

 La directive #elif est quivalent #else suivi de #if.

 Il est possible d'isoler une portion du code lors de la compilation (pour valider des tests, isoler une partie bugge, compiler une version dmo etc...) en se servant du #if de la manire suivante :

#if 0 /* toujours faux */
 ...
 /* lignes de code supprimer temporairement pour la compilation */
 ...
#endif

ou encore

#ifndef VERSION_DEMO
 ...
 /* lignes de code ne pas inclure pour la dmo : par exemple la sauvegarde du jeu */
 ...
#endif


L'oprateur defined

 L'oprateur defined appliqu un symbole ("defined symbole" ou "defined (symbole)"), vaut 1 si le symbole existe, 0 sinon.

 #if defined symbole peut galement s'crire : #ifdef symbole. Il existe une directive symtrique : #ifndef quivalente #if ! defined

 L'oprateur defined peut tre utilis en conjonction avec la directive #undef pour redfinir un symbole :

#if defined(PI)
 #undef PI
#endif

#define PI acos(-1)



  Retour en haut de page Page suivante