複数の環境をサポートする必要があるCプロジェクトがある場合、プリプロセッサを使用して1つの環境が定義されていることをどのように強制するのですか?正確に1つの定義を実施するにはどうすればよいですか?
私はすでに行うことができます。
#if defined PROJA (blah blah blah) #elif defined PROJB (etc) #else #error "No project defined" #endif
しても、そのすべてが、しかし、0のプロジェクトが定義されているなら、私に教えています。プロジェクトAとプロジェクトBの両方を定義している人がいれば、プリプロセッサはプロジェクトAだけを引き受けることになります。しかし、私の見解では、エラーにフラグを立てるのが正しい動作です。
2つのプロジェクトしか定義されていませんが、この問題は簡単です。 200でどのように解決するのですか?
プリプロセッサハックは維持するために全く苦痛になり、その後はむしろ、この種のことは、システムを構築するものである」この –