Préprocesseur

https://en.wikipedia.org/wiki/C_preprocessor https://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html http://jhnet.co.uk/articles/cpp_magic

TBD détailler les include, comment on fait etc.

Premier programme

Fichier hello.c :

#include <stdlib.h> 
#include <stdio.h>

int main(void) { 

    printf("Hello World!");

    return EXIT_SUCCESS; 
}

Le but du préprocesseur est de préparer le code à être compilé. Le préprocesseur lit le fichier à préprocesser et cherche des :

Lorsque le préprocesseur Attention, c'est juste du texte qui est remplacé. Il n'y a pas de logique interne.

clang -E hello.c -o hello.i

Directives

Les directives sont des commandes commençant pas un #. Elles sont de trois types :

Le fichier produit après préprocession est le fichier contenant les inclusions de fichiers et les macros et constantes remplacées.

Remplacement des macros et constantes

Les macros et constantes définies par les directives sont remplacées par leur code.

Il faut faire très attention aux effets de bords avec les macros.

TBD exemple

Bref, n'en faites pas vous même.