1

コードサイズを減らすために、実行可能ファイルからできるだけ多くのデッドコードを削除することを目指しています。スタック オーバーフローに関する他の質問からいくつかのヒントに従い-fdata-sections -ffunction-sections... + ...--gc-sections、makefile で使用しています。ただし、1つ質問があります。

私は最初にフラグとして.o使用してすべてのをコンパイルしています。-fdata-sections -ffunction-sections次に、これらを静的ライブラリ ( lib.a) にアーカイブしています。次に、これをリンクする実行可能ファイルを作成し、このリンカーでフラグlib.aを使用しています。--gc-sectionsしかし、これでは改善されないようです。これは、最初にアーカイブしているためですか? アーカイブはセクションへの分割の影響を取り除きますか? (また、私が使用している「ストリップ」の形式は、実行可能ファイルにまったく影響を与えないようです!)

4

0 に答える 0