私がfoo.hにBARを定義するとします。しかしfoo.hは存在しないかもしれません。コンパイラが私に不平を言うことなく、どうすればそれを含めることができますか? BARはfoo.hという2として定義されている場合がfoo.hが存在しない場合がfoo.hが存在し、1場合ヘッダーファイルを含めるにはどうすればよいですか?
#include "foo.h"
#ifndef BAR
#define BAR 1
#endif
int main()
{
return BAR;
}
したがって、プログラムは2を返します。
'BAR'を定義する独自のフォールバックfoo.hを提供し、それに応じてコンパイラの検索パスを設定しますか? –
私はそれをすることができると思います。フォールバックfoo.hに何かを含める必要があるのはなぜですか? – theanine
可能な複製[ファイルが存在するかどうかを知るためにCプリプロセッサを使用できますか?](http://stackoverflow.com/questions/142877/can-the-c-preprocessor-be-used-to-tell-if- a-file-exists) –