Forums: Discussion-Ouverte (Thread #8019)

実行ファイルのサイズについて教えて下さい。 (2005-06-27 12:11 by Anonyme #14999)

Dev-C++ の実行ファイルサイズが大きいのですが,対策方法を教えて下さい。"デバッグ情報を生成"はoffに設定しています。
下記のプログラムの実行ファイルサイズを比較してみたのですが,Ver4.9.8.0以降はファイルサイズがかなり大きくなりました。

// sample program 1
#include<iostream>
main()
{
}
//

Version毎のファイルサイズは次のようになりました。
ver 4.9.6.0 size 10,240 b
ver 4.9.8.0 size 449,306 b
ver 4.9.9.2 size 3,399,729 b
** BCC size 47,104 b


// sample program 1
// iostream なしの場合
main()
{
}
//

ver 4.9.8.0 size 26,036 b
ver 4.9.9.2 size 404,262 b
** BCC size 47,104 b

<iostream>を追加しただけでファイルサイズが約3.2MBになるのは大きすぎると思います。対策方法を教えて下さい。よろしくお願いします。

Répondre à 14999×

You can not use Wiki syntax
Vous n'êtes pas connecté. Pour distinguer vos messages en provenance du reste, vous devez choisir un surnom. (L'unicité du surnom est pas réservé. Il est possible que quelqu'un d'autre pourrait utiliser exactement le même surnom. Si vous voulez l'assurance de votre identité, nous vous recommandons de vous connecter avant de poster.) Connexion

RE: 実行ファイルのサイズについて教えて下さい。 (2005-06-28 12:29 by Anonyme #15024)

うーん mingw-jpはmingw-jp-20040224.zipを使用してて共通です。
生成されたMakefile.winをみても特に変な記述はないですね。。
にわかにはわかりかねます。

実行ファイルが大きいのが問題なら、リンカのオプションで”実行ファイルをStripする"をyesにしてください。
Répondre à #14999

Répondre à 15024×

You can not use Wiki syntax
Vous n'êtes pas connecté. Pour distinguer vos messages en provenance du reste, vous devez choisir un surnom. (L'unicité du surnom est pas réservé. Il est possible que quelqu'un d'autre pourrait utiliser exactement le même surnom. Si vous voulez l'assurance de votre identité, nous vous recommandons de vous connecter avant de poster.) Connexion

RE: 実行ファイルのサイズについて教えて下さい。 (2005-06-28 19:10 by Anonyme #15025)

ご指摘のリンカオプションで"実行ファイルをStripする"を'yes'に設定したら実行ファイルサイズが
  <iostream> あり 217,600B
       なし 5,632B
  になりました。(ver4.9.9.2)

BCCと比較すると実行ファイルサイズはまだ大きいですが,当初に比べるとずいぶん小さくなりました。
設定を変えて試してみようと思っていますが,他の方法がありましたらお教え下さい。

ついでに,"実行ファイルをStripする"とはどのようなことか教えて下さい。よろしくお願いします。

ありがとうございました。
Répondre à #15024

Répondre à 15025×

You can not use Wiki syntax
Vous n'êtes pas connecté. Pour distinguer vos messages en provenance du reste, vous devez choisir un surnom. (L'unicité du surnom est pas réservé. Il est possible que quelqu'un d'autre pourrait utiliser exactement le même surnom. Si vous voulez l'assurance de votre identité, nous vous recommandons de vous connecter avant de poster.) Connexion

RE: 実行ファイルのサイズについて教えて下さい。 (2005-06-30 14:30 by Anonyme #15045)

stirpのマニュアルには
"GNU strip discards all symbols from object files objfile."
とあります。
stripと同等のgccコマンドオプション”-s”のマニュアルだと
"実行形式から、シンボルテーブルと再配置情報を全て削除する。"
となってます。
シンボルテーブルと再配置情報はプログラムのリンクの際に使うものだそうで、stripしても実際の動作には問題ないようです。GDBを使う場合は当然stripしてはいけません。
Répondre à #15025

Répondre à 15045×

You can not use Wiki syntax
Vous n'êtes pas connecté. Pour distinguer vos messages en provenance du reste, vous devez choisir un surnom. (L'unicité du surnom est pas réservé. Il est possible que quelqu'un d'autre pourrait utiliser exactement le même surnom. Si vous voulez l'assurance de votre identité, nous vous recommandons de vous connecter avant de poster.) Connexion