| ||||
Ce que nous allons faire maintenant va éclaircir le précédent ralage du compilateur (et même ci ce n'est pas français c'est quand même ce qu'il s'est passé). Nous allons changer le comportement de notre programme avec une macro. Nous allons écrire un programme qui va utiliser la fonction qu'on va lui passer en paramètre. En fait, pour faire simple, nous allons afficher un texte dans la console avec la fonction printf ou une autre fonction, qui affichera le texte en vert. Voici le programme :
Mais je ne vois pas d'appel à la fonction printf ni à une autre fonction. C'est la macro USE_FONCTION qui prendra pour valeur printf ou printColor. Nous faisons toujours attention que le programme fasse quelque chose ("RTT") si on oublie de passer une macro au compilateur. Compilons pour afficher le texte avec printf : g++ -Wall main.cpp -DUSE_FONCTION=printf -o test Regardons le résultat : ./test Texte à écrire dans la console Il ne se passe rien d'extraordinaire, mais ça à fonctionné. Compilons pour afficher le texte avec printColor : g++ -Wall main.cpp -DUSE_FONCTION=printColor -o test Voilà le résultat :
./test
Texte à écrire dans la console
Et voilà un texte en couleur. Et le plus important c'est que nous avons fait ces deux choses différentes avec le même code source mais compilé différemment. | ||||
|