出力ファイルにフルパスが含まれるのを防ぐ
テクニカル・ノート 59374
アーキテクチャ:
All
コンポーネント:
general
更新日:
2018/09/04 7:20
はじめに
出力ファイルに、ソースファイルのフルパスが含まれています。これは期待する動作ではありません。
コメント
この問題の典型的な原因として考えられるのは、アプリケーションにおいてassertマクロが使用されており、このマクロによって__FILE__マクロが使用されていることが考えられます。__FILE__マクロは、現在のファイルのフルパスを出力します。
推奨方法
- Assertを回避する- 条件コンパイルを行うことで、assertメッセージを発生させないようにできます。
\arm\inc\c\assert.hというファイルでは、この方法を使用して、出力ファイル/出力イメージにassertメッセージが埋め込まれるのを防いでいます。
#ifdef NDEBUG
#define assert(test) ((void)0)
- マクロにパスを含めない - 以下のコマンドラインオプションを使用します。
--no_path_in_file_macros
プロジェクト(Project) > オプション(Option) > C/C++コンパイラ(C/C++ compiler) > 追加オプション(Extra Options)で、このオプションを追加します。
全ての製品名は、それぞれの所有者の商標または登録商標です。