Angesichts eines C Projekts, das mehrere Umgebungen unterstützen muss, wie verwende ich den Präprozessor, um sicherzustellen, dass genau eine Umgebung definiert ist?Wie erzwinge ich genau eine Definition?
kann ich schon tun:
#if defined PROJA (blah blah blah) #elif defined PROJB (etc) #else #error "No project defined" #endif
Alles, was der Fall ist, aber ist mir sagen, ob 0 Projekte definiert sind. Wenn eine hilfreiche Seele sowohl Projekt A als auch Projekt B definiert, wird der Präprozessor nur Projekt A annehmen. Das korrekte Verhalten ist jedoch aus meiner Sicht, einen Fehler zu kennzeichnen.
Zugegeben, mit nur 2 Projekten definiert ist dieses Problem trivial. Wie löse ich es mit 200?
mit 200 ein Präprozessor Hack völliger Schmerz zu halten wäre, dann würden Sie lieber den makesystem kümmern brauchen, um diese –