Bonjour,
J'ai un problème et je cherche une solution légère (peut contraignante).
Je développe une librairie sur linux et dans une de mes classe je fais des affichage basiques avec std::cout. Sauf que j'aimerai que l'utilisateur reste maitre de ces affichage. Oublions une minute le principe de librairie. J'aimerai que l'utilisateur puisse lire dans la documentation que je fournirai " définie la constante DEBUG_ACTIF pour pouvoir profiter des sortie std::cout. Ainsi si l'utilisateur fait au tout debut de son main :. Il bénéficira des affichages en console. et donc dans mes classe j'entoure tous mes std::cout <<..... par des jolis :
Code : Sélectionner tout - Visualiser dans une fenêtre à part #define DEBUG_ACTIF
sauf que sa ne marche pas. J'ai appris que les #define ne sont pris en compte par le préprocesseur uniquement dans le fichier ou il est présent et dans les fichiers qui incluent le fichier ou il est présent. Sauf que biensur si l'utilisateur définie cette directive dans son main (en debut de programme) je ne peux pas me permettre d'inclure le main dans tout mes fichiers qui utilise cette directive. Je cherche donc une altérnative à cela qui ne me couterai pas trop cher .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #ifdef DEBUG_ACTIF std::cout << ... << std::endl #endif
Evidemment une solution avec le préprocesseur serai parfaite .
Merci de votre aide
Partager