0

.a ファイルにコンパイルされたライブラリがあるとしましょう。その後、このライブラリは他のコードとリンクされて実行可能ファイル .exe になります。.a ファイルのサイズは 6Mb ですが、この .exe ファイルのサイズは 3Mb です。これの明らかな説明は、リンカがライブラリから未使用のコードを捨てたことです。私が知りたいのは、最終的な実行可能ファイルでの実際のライブラリのコード フットプリントです。

4

2 に答える 2

3

リンカーのオプションを確認してください。リンカーには通常、マップ ファイルを生成するオプションがあります。これは、最終的なイメージにリンクされた関数のリストと、それらがどこから来たかです。gcc を使用しているようです。-map オプションを使用してください。

于 2010-06-19T12:13:27.687 に答える
0

ライブラリには多くの機能が実装されています。exeはそこのいくつかを使用します。liker は、exe が使用する関数のコードのみを exe に追加します。

于 2010-06-19T12:03:19.253 に答える