« Programmation C++/Le préprocesseur » : différence entre les versions
Contenu supprimé Contenu ajouté
Ligne 23 :
===#ifdef, #ifndef, #endif et #else===
====Présentation====
Toutes ces directives permettent la compilation conditionnelle.
C'est à dire que la partie du code comprise entre la directive conditionnelle (<code>#ifdef</code>, <code>#ifndef</code> ou <code>#if</code>) et la fin du bloc signalée par la directive <code>#endif</code> n'est compilée que si la condition est remplie.
* La directive
* Chacune de ces conditions peut être accompagné d'un #else qui permet d'inclure un bout de programme si la condition n'est pas vérifiée.▼
* La directive <code>#ifndef</code> permet de compiler un bout de programme si une variable de compilation n'est '''pas''' définie. C'est donc l'inverse de <code>#ifdef</code>. La fin de la partie à inclure est déterminée également par #endif.
* Il ne faut pas abuser de ces directives et elles sont surtout utilisées :▼
** pour gérer des problèmes de portabilité.▼
▲* Chacune de ces conditions peut être accompagné d'
** dans les fichiers headers de DLL sous Windows.▼
* au début des fichiers d'en-tête pour éviter une double compilation.
====Exemples====
|