2365353_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2365353_ja-JP

2365353_ja-JP

参照されていない定数が削除されます


おはよう、

私のプロジェクトの一つで、ソフトウェアから実際には参照されない定数文字列「ABCDEF」を追加する必要があります。

const int8_t ID[] __attribute__((used)) = {"ABCDEF"};

私はこの文字列を「キー」または「マーカー」として使用し、リンク処理後に生成されたバイナリファイル内の特定のデータを分析および特定します。残念ながら、オプティマイザがこの文字列を削除してしまうため、最終的なバイナリには含まれません。

私はMCUXpresso IDE v25.6 [ビルド136] [2025-06-27]を使用しています。

同様の問題に遭遇した方はいらっしゃいますか?リンカーに参照されていないセクションや変数を保持させるように強制するには、どうすれば良いでしょうか?

ご協力いただき、誠にありがとうございました。

よろしくお願いします。

Re: never referenced constant is removed

こんにちは@_Ferrari_

投稿ありがとうございます!

volatile ディレクティブを使用して、コンパイラにその変数を最適化しないように指示してください。

const volatile int8_t ID[] __attribute__((used)) = {"ABCDEF"};

この情報がお役に立てば幸いです。

Re: never referenced constant is removed

こんにちは@_Ferrari_

使用している最適化レベルを教えていただけますか?

BR

Re: never referenced constant is removed

残念ながら、それは適切な解決策ではありません。

もし私が使うなら

const volatile int8_t ID[] __attribute__((used)) = {"FEDCBA"};

ID定数は最終出力ファイルから破棄されます。

よろしくお願いします。

Tags (1)
No ratings
Version history
Last update:
2 weeks ago
Updated by: