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 préprocesseur d'insérer 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 arithmétique, est évaluée. 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 buggée, compiler une version démo etc...) en se servant du #if de la manière 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 démo : par exemple la sauvegarde du jeu */
 ...
#endif


L'opérateur defined

 L'opérateur 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 symétrique : #ifndef équivalente à #if ! defined

 L'opérateur defined peut être utilisé en conjonction avec la directive #undef pour redéfinir un symbole :

#if defined(PI)
 #undef PI
#endif

#define PI acos(-1)



  Retour en haut de page Page suivante