実行可能ファイルのサイズを大幅に最適化する必要があります(ARM開発)と、現在のビルドスキーム(gcc+ ld)で未使用のシンボルが削除されないことに気付きました。
arm-strip --strip-unneeded結果の実行可能ファイル/ライブラリのの使用は、実行可能ファイルの出力サイズを変更しません(私には理由がわかりません、たぶんそれができないのかもしれません)。
使用されていないシンボルが結果のファイルから削除されるように、ビルドパイプラインを変更する方法(存在する場合)は何ですか?
私もこれについては考えていませんが、現在の組み込み環境は非常に「強力」ではなく500K、2M結果を保存しても、ロードパフォーマンスが非常に向上します。
更新:
残念ながら、gcc私が使用する現在のバージョンには-dead-stripオプションがなく、-ffunction-sections... + --gc-sectionsfor を使用してもld、結果の出力に大きな違いはありません。
gcc + ld未使用のシンボルを自動的に取り除く必要があると確信していたので、これが問題になることにもショックを受けました(なぜそれらを保持する必要があるのですか?)。
boostライブラリを使用する既存のアプリケーションを移植しようとすると、結果の.exeファイルに多くの未使用のオブジェクトファイルが含まれ、現在の埋め込みランタイムの仕様が原因です。 、10mbアプリケーションの起動には、たとえば500kアプリケーションの起動よりもはるかに時間がかかります。