que represente les # dans:
ca ressemble au commande if normal mais pourquoi y a t'il un #?Code:
1
2
3
4
5 #if (defined(_WIN32) || defined(WIN32)) printf("Press ESC to abort\r\n"); #else printf("Type q and hit return to abort\r\n"); #endif
Version imprimable
que represente les # dans:
ca ressemble au commande if normal mais pourquoi y a t'il un #?Code:
1
2
3
4
5 #if (defined(_WIN32) || defined(WIN32)) printf("Press ESC to abort\r\n"); #else printf("Type q and hit return to abort\r\n"); #endif
Ce sont des directives du préprocesseur : ces conditions sont testées à la compilation et non pas à l'exécution comme un if normal.
Cela permet de faire ainsi de la compilation conditionnelle. Si le test ne correspond pas, le code n'est carrément pas compilé et donc évidemment ne sera jamais, jamais exécuté.
merci
On peut même dire que c'est traîté avant la compilation par le préprocesseur qui va générer en fonction de ces directives un nouveau source (en remplçant les directives et macros par ce qu'il faut) qui va alors être compilé.