Étant donné un projet C qui doit prendre en charge plusieurs environnements, comment est-ce que j'utilise le préprocesseur pour appliquer exactement qu'un environnement est défini?Comment appliquer exactement une définition?
Je peux déjà faire:
#if defined PROJA (blah blah blah) #elif defined PROJB (etc) #else #error "No project defined" #endif
Tout ce qui fait, bien que, me dire si 0 projets sont définis. Si une âme utile définit à la fois le projet A et le projet B, le préprocesseur n'assumera que le projet A. Cependant, le comportement correct, de mon point de vue, est de marquer une erreur.
Accordé, avec seulement 2 projets définis ce problème est trivial. Comment puis-je le résoudre avec 200?
avec 200 un hack préprocesseur serait la douleur absolue de maintenir, alors vous devez plutôt faire le makesystem prendre soin de ce –