最近、リリースの実行可能ファイル (msvc++ Express 2008 で作成) が非常に大きくなっていることを発見しました。16 進ビューアで実行可能ファイルを調べると、最初の 300k バイトだけに有用なデータが含まれていることがわかりました。
デバッグでビルドされた exe のサイズは 1MB ですが、リリースは 6.5MB です。
MSVC++ Express がその無駄なことをするのはなぜですか? どうすれば修正できますか?
最近、リリースの実行可能ファイル (msvc++ Express 2008 で作成) が非常に大きくなっていることを発見しました。16 進ビューアで実行可能ファイルを調べると、最初の 300k バイトだけに有用なデータが含まれていることがわかりました。
デバッグでビルドされた exe のサイズは 1MB ですが、リリースは 6.5MB です。
MSVC++ Express がその無駄なことをするのはなぜですか? どうすれば修正できますか?
プログラムでファイル スコープで大きな配列を定義しましたか? それが一つの理由かもしれません。dumpbin プログラムを使用して、exe ファイルの各セクションがどれだけのスペースを占めるかを確認できます。これにより、「理由」の手がかりが得られるはずです。
デバッグよりも 6 倍大きいリリース - 何かが間違っている可能性があります。新しいプロジェクトを作成して、ソース コードをコピーしてみてください。それをコンパイルして、Debug および Release 実行可能ファイルの結果を確認します。