0

C の hello world を MinGW でコンパイルすると、結果の exe は 42Kb になります。Tiny C Compiler を使用すると、2Kb 程度になります。(どちらの場合も、オプションを指定したり、何か面白いことをしたりせずに、 gcc hello.c -o hello.exe だけです)

これで、最小限のスタートアップ コードが必要であることがわかりました。しかし、mingw がそこに置く余分な 40kb のものは何ですか、それは何をしますか、なぜそれが必要なのですか?

4

1 に答える 1

-1

よくある質問から:

デバッグ情報

実行可能ファイルが予想よりも大きくなる最も一般的な理由は、ソース ファイルが GCC の「-g」オプションでコンパイルされたときに生成されるデバッグ情報が含まれていることです。独自のソース ファイルがデバッグ情報なしでコンパイルされている場合でも、実行可能ファイルにリンクされているライブラリは "-g" でコンパイルされている可能性があります (MinGW で配布されているシステム ライブラリを含む可能性があります)。

実行可能ファイルからデバッグ情報を除外するには、単純に「strip」コマンドを使用して削除するか、リンク時に「-s」オプションを使用します。

UPX (実行可能ファイル用の究極のパッカー)

UPX は、非常に高速で効率的なインプレース圧縮/解凍を使用して、実行可能ファイルのサイズを縮小できるツールです。Windows および Linux の実行可能ファイルで機能し、すべてのアプリケーション (商用アプリを含む) で無料で使用できます。

于 2016-11-19T13:36:09.913 に答える