3

これはコンパイラ固有のものである可能性があり、その場合、IAR EWARM 5.50 コンパイラ (STM32 チップ用のファームウェア開発) を使用しています。

私たちのプロジェクトは、最初にコンパイルする一連の C コード ライブラリと、その C コードをコンパイルしてからそれらのライブラリ (かなり標準的なもの) にリンクするメイン アプリケーションで構成されます。

しかし、16 進数エディターを使用して、生成されたライブラリ オブジェクト ファイルまたは最終的なアプリケーション バイナリを開くと、コンパイルされた C ファイルのファイル パスへのプレーン テキスト参照が出力バイナリ内に多数見つかります。(例: 「C:\Development\trunk\Common\Encryption\SHA_1.c」と表示されます)

これに関する2つの問題:

  • ファイル パスを簡単に読み取れるようにする必要はありません。
  • Cファイルが長いサブディレクトリにある場合、バイナリのサイズが大きくなります(バイナリには名前だけでなくフルパスが含まれています)...これは、量が限られているファームウェアを扱う場合に特に重要ですコードスペース (256KB)。

これについて何か考えはありますか?「デバッグ情報を削除する」など、コンパイラで考えられるすべてのスイッチを試しましたが、それらのパスはまだそこにあります。

4

1 に答える 1