私が欲しいのは、機能的に次のようなものです。
#if TODAY<OCTOBER_31_2017
#define OK 0
#elif TODAY==OCTOBER_31_2017
#define OK 1
#else
#define OK 2
#endif
したがって、今日の日付に応じて、「OK」に関連するコンパイル時の値を設定したいと思います。
それを行う方法はありますか?
-D
オプションを受け入れるコンパイラとそれを呼び出すPOSIXシェル/環境を想定すると、次のことができます。
cc -DOCTOBER_31_2017=$(date -d 'Oct 31 2017' +%s) \
-DTODAY=$(date -d now +%s) \
yourfile.c
プリプロセッサコードが機能するはずです。
(date +%s
日付をUNIXタイムスタンプ(1970-01-01 00:00:00 UTCからの秒数)として出力します。これにより、日付をCプリプロセッサの整数演算と比較できるようになります。)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加