実行可能な C++ プログラム ファイルのサイズは何によって決まりますか?? 明らかに、変数のサイズ/数だけに依存するわけではありません。変数の数を一定に保ちながらサイズを小さくするにはどうすればよいですか?
1965 次
4 に答える
4
多くの要因があります。
- コンパイラによる最適化
- 静的/動的リンク
- 静的割り当てメモリ
- デバッグ情報
- ストリップされた/ストリップされていないバイナリ
を使用して結果のサイズを最適化gcc
できますが、これはパフォーマンスに影響を与える可能性があります。-Os
于 2012-10-16T18:22:27.660 に答える
1
一般に、実行可能ファイルのサイズは、使用している変数定数の数にあまり依存しません。話しているさまざまな OS に基づいて、これらは実行可能ファイルのサイズに影響を与える可能性があるいくつかの側面です。
- 実行可能ファイルに静的にリンクされたリソースとライブラリ。
- バイナリを生成するために選択するコンパイラ オプション。
- 実行可能ファイルから削除されていない可能性があるシンボル ファイルおよびその他のデバッグ ユーティリティ。
この回答は非常に関連性があるようです:) 実行可能ファイルのサイズを縮小するプロセス
于 2012-10-16T18:26:04.807 に答える
1
- C++ ランタイムに動的にリンクします。
- デバッグ情報なしで実行可能ファイルをコンパイルします。
- 「サイズの最適化」フラグを使用してコンパイルします。
- 可能であれば #iostream と fstream を削除し、代わりに低レベルを使用してください
- また、多くのテンプレートを使用すると、サイズが大きくなる可能性もあります
- インライン関数を多用するとサイズが大きくなる場合があります。
- 静的変数とグローバル変数が多数ある場合は、可能であればそれらを最小限に抑えるようにしてください。
于 2012-10-16T18:23:03.993 に答える
1
他の回答に加えて、留意すべきもう 1 つのことはインライン化です。関数を過度にインライン化すると、実行可能ファイルのサイズが大幅に増加する可能性があります。
于 2012-10-16T18:24:33.933 に答える