Les directives de compilation sont aussi appelées directives au préprocesseur. Il s'agit d'une phase préliminaire à la compilation. Le compilateur va effectuer un certain nombre d'opérations sur le code avant de le transformer en langage machine.
Parmi ces opérations préliminaires, certaines sont ordonnées par le développeur en
les précisant dans le code source. Ces directives de compilation
commencent toujours par le caractère #
et se termine par un saut de ligne.
#include
permet d'insérer un autre fichier dans le code. Quand vous utilisez la directive
#include
, c'est comme si vous faisiez un copier-coller du fichier dans le code source.
Dans 99% des cas, #include
sert à stipuler que le code utilise une bibliothèque :
#include <stdio.h>
#define
permet de déclarer une constante ou un identificateur. Cette dernière
peut être supprimée avec #undef
. Généralement, cette direction est utilisée pour
déclarer des constantes :
#define PI 3.14159265359
Notez l'absence de point-virgule à la fin de la ligne.
Par convention, le nom des constantes est mis en majuscule.
Il est possible de préciser au préprocesseur qu'une partie du code ne sera pas compilée sous certaines conditions. On rencontre généralement ce type de syntaxe dans des programmes destinées à plusieurs cibles (Windows, Linux). L'exemple suivant en montre une illustration :
// On utilise la bibliothèque stdio.h
#include <stdio.h>
int main(void) {
/* On utilise des directives pour compiler
différemment des codes sous Windows et sous Linux */
#if defined (_WIN32) || defined( _WIN64)
printf ("Code pour Windows\n");
#else
printf ("Code pour Linux\n");
#endif
return 0;
}
Les directives de compilation sont aussi appelées ...
En compilation, qu'est-ce que le préprocesseur ?
Quelle est la syntaxe d'une directive de compilation ?
Quelle directive permet de créer une constante ?
Quelle syntaxe est correcte ?
Quelle directive permet d'utiliser une bibliothèque externe ?