[トップ][編集][ノート][編集履歴][一覧][最近の更新][->English]

HSPのFAQ:EXEのファイルサイズを節約したい


概要

EXEファイルにしたときにEXEファイルのファイルサイズが非常に大きくなる。
これを節約したい。

対象

  • HSP2.xx
  • HSP3.xx

原因や対策1

よく#includeしているASファイル/HSPファイルやDLLファイルなどもパッキング(PACKFILE化)する人がいますが、基本的に必要なのは start.ax と画像ファイルやデータファイルだけで、それ以外のファイルはPACKFILE内には要りません(DLLファイルはパッキングしても読み込めません)。 また、PACKFILE内に入れるとその分ファイルサイズが増えてしまいますので、特別必要である場合以外入れないようにしてください。 更にPACKFILE自体は動作には不要なので配布時は同梱する必要はありません(EXEにするときにパッキングするファイルを指定するためだけのファイルです)。

原因や対策2

HSP2.xx(*1)の場合は、picload命令で対応している画像形式JPEGファイル(*.jpg)の読み込み処理が実装されていない簡易版ランタイム hsp2c.hrt があります。JPEGファイルを使用していない場合は、このランタイムを使用することでかなりのファイルサイズを節約できます(通常より-20KBほど)。このランタイムの利用方法については、「拡張ランタイムマネージャマニュアル (hsperun.htm)」を参照してください。

HSP3.xの場合は、COM関連機能とgrect/grotate/gsquare命令を実装していない簡易版ランタイム hsp3c.hrt があります。このランタイムを使用することでかなりのファイルサイズを節約できます(通常より-20KBほど)。このランタイムの利用方法については、「プログラミングマニュアル1・基本仕様ガイド (hspprog.htm)」の「拡張ランタイム」を参照してください。

注釈

  • (*1)
    2.55辺りから。正確なバージョンを知っている人は補足してください。それ以前のバージョンではランタイム切り替え機能がなかったり同梱されていなかったりすると思います。