インクリメンタル

コンパイラやリンカがインクリメンタルなので(変更されたところしかコンパイル、リンクしない)バージョン表示等に流用しているprintf("%sRelease: %s %s\r",com_Version,__DATE__,__TIME__);等がきちんと表示されない(あたりまえの現象)ことがあります、すなわちこの文章を含むモジュールが更新されたときのみ,__DATE__,__TIME__がアップデートされるので、「あれ?この前なにか変更したのに前の日付けになっている!」のような勘違いが起きます、これはCS等の環境でも同じと思います、なにか良い対策はありませんか?

Parents Reply Children
  • fujita nozomu さん

    COPY /B com.c +,, というDOSコマンドでnew_com.batというファイルを作成してPhase1というフェーズで実行するようにしてこれを先頭に配置してやったところ、ビルド毎に最初にcom.cのタイムスタンプが更新されるので必ず,__DATE__,__TIME__が更新されてうまくいきました、解決です、fujita nozomu さんありがとうございました。