
Delphiで、フォームにコントロールを貼り付けただけのプログラムをコンパイルし、
実行形式ファイルを作成しましたら、約500KBになりました。
あまりにも大きいので、小さくならないものかとネット上を探しましたら、
URL : http://f29.aaa.livedoor.jp/~morg/wiki/index.php? …
>環境設定
>ファイルサイズを小さくするには
>
>Delphiの実行ファイルは通常かなりサイズが大きいですが、
>小さくすることができます。
>「ライブラリの参照」から、 動作させる環境で必要のないものだけを除きます。
>(除いた後の動作確認を忘れずに)
>そして、プロジェクトオプションの、「実行時のパッケージで再構築」の、
>部分に、必要なものだけを記述して再構築します。
というものがありました。
実際には、「プロジェクト」-「オプション」-タブ「パッケージ」の
「実行時パッケージを使って構築」にチェックを入れました。
結果、約20KBになりました。
これは、いったいどういうこのなのでしょうか?
(実行時にはランタイムライブラリ等が必要になる?)
ヘルプを見てみましたが、よく分かりませんでした。
また、URLのページで説明にある
1:『「ライブラリの参照」から、 動作させる環境で必要のないものだけを除きます。』
2:『「実行時のパッケージで再構築」の、部分に、必要なものだけを記述して…』
とありますが、具体的にどのように指定するのでしょうか?
(1はパス指定のようだが、2はdcpファイルを指定?)
No.2ベストアンサー
- 回答日時:
>これは、いったいどういうこのなのでしょうか?
”実行時パッケージを使う”とした場合、EXEファイルは
コンパクトになりますが、実行時パッケージ(ランタイム)が
必要になります。(バージョンによるけど、1.8MB以上)
EXEファイルに静的に組み込めば、500KBで済むものが、
ランタイムだと、1.8MB以上ですから、1つのEXEファイルを
配布するなら、ランタイムを使うより、静的リンクの方が
全体としてコンパクトと言うことになります。
数多くのEXEファイルがある場合、個々に静的リンクするより
ランタイムを利用した方がコンパクトです。
その辺の判断は、人によって変わると思います。
なお、Delphiが使っているスマートリンクなる手法は、
使わないモノは、EXEファイルに含めないので、無駄に
大きなEXEファイルを作っているわけではありません。
(不要なモノは組み込まれない)
配布相手を考えて、適宜、使い分けるのがよろしいかと。
この回答への補足
なるほど。分かり易い説明をありがとうございます。
ということは、EXEファイル単体で動かそうとするとき、
サイズを小さくしたいなら #1 さんの方法を使ったほうがいいということですね。
ちなみに私が使用しているものはDelphi6 Personal なのです。
これにスマートリンクの機能はあるのでしょうか?
No.3
- 回答日時:
古いバージョンのDELPHIしか使ってないので、最近のモノは判りませんが..
ごく初期のバージョンのDELPHIで取り入れられていますので、DELPHI6でも
問題ないでしょうし、エディションの違いで未実装と言うことはありません。
(大昔のTurboPascalでも実装していたような気がする)
No.1
- 回答日時:
ライブラリーの依存関係とかを把握しとかないと難しいんじゃないでしょうか?
http://homepage2.nifty.com/maskp/
こういうのが早いと思います
exe を exe のまま 圧縮します。
参考URL:http://homepage2.nifty.com/maskp/
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access クエリ実行が急に非常に...
-
c/c++ ビルドしたにもかかわら...
-
OLE又はDDEを使うVISUAL BESIC...
-
コンポーネント`MSCOMM32.cox'...
-
ネットワーク越しのEXEファ...
-
jarファイルとjava.exeの関連付...
-
javascriptでのファイル操作に...
-
64bit環境で32bitのodbc参照
-
VBAでMP3を鳴らしたい
-
アプリケーションとソースコー...
-
ディレクトリを変更して外部コ...
-
Visual BASIC か...
-
JAVA .jarファイルに再圧縮する...
-
eclipseで作ったプログラムを他...
-
実行ファイルと実行モジュール...
-
アイコンにD&Dしたファイル...
-
ファイルアイコンの左下に緑の□...
-
VB2010でスタンバイや休止モー...
-
VBS形式ファイル:ダブルクリッ...
-
JARファイルをEclipseを使って...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access クエリ実行が急に非常に...
-
c/c++ ビルドしたにもかかわら...
-
JavaScriptでコマンドプ...
-
OLE又はDDEを使うVISUAL BESIC...
-
コンポーネント`MSCOMM32.cox'...
-
LINK : fatal error LNK1104に...
-
以下のように複数のファイルを...
-
VBAでEXEファイルを動かす方法...
-
コマンドプロンプトで外のexeや...
-
jarの開き方を教えてください。
-
WScript.Echo と msgbox
-
VC++から引数付きexeファイルの...
-
実行ファイルと実行モジュール...
-
VBAで他のプログラムが起動して...
-
コンパイル ./aと./a.out の違い
-
JAVA .jarファイルに再圧縮する...
-
VBフォームアプリケーションに...
-
jarファイルとjava.exeの関連付...
-
64bit環境で32bitのodbc参照
-
VBS形式ファイル:ダブルクリッ...
おすすめ情報