3: 2009-01-07 (水) 13:48:25 [6] | 4: 2009-01-07 (水) 22:18:16 [7] | ||
---|---|---|---|
Line 2: | Line 2: | ||
-(by [[K]], 2009.01.07) | -(by [[K]], 2009.01.07) | ||
*** 註 | *** 註 | ||
- | -所詮はOSASK-HB向けなのでまあ暫定的なものです。とりあえず2009.01.07時点で最新のabcdw010での手法を書きました。ちなみに今後もできるだけこの手法のままの予定です。 | + | -所詮はOSASK-HB向けなのでまあ暫定的なものです。とりあえず2009.01.07時点で最新のabcdw011での手法を書きました。ちなみに今後もできるだけこの手法のままの予定です。 |
-なおこの方法はただefg01と.g01ファイルをくっつけているだけなので、サイズもefg01と.g01ファイルの合計程度にしかなりません。あまり使い道があるとは思っていませんが、単一の実行ファイルがお好みなら、これは便利かもしれません(初心者向けにアプリを配布しなければいけない場合とか?)。 | -なおこの方法はただefg01と.g01ファイルをくっつけているだけなので、サイズもefg01と.g01ファイルの合計程度にしかなりません。あまり使い道があるとは思っていませんが、単一の実行ファイルがお好みなら、これは便利かもしれません(初心者向けにアプリを配布しなければいけない場合とか?)。 | ||
*** (1) tolsetと.g01ファイルから.exeを作る場合 | *** (1) tolsetと.g01ファイルから.exeを作る場合 | ||
Line 19: | Line 19: | ||
-以下のように入力して、helloを生成させる。 | -以下のように入力して、helloを生成させる。 | ||
gcc -DUSE_INCLUDE_G01 -Os -o hello efg01.c tek.c gasfunc.s hello.c | gcc -DUSE_INCLUDE_G01 -Os -o hello efg01.c tek.c gasfunc.s hello.c | ||
+ | --これがうまく行かない場合もある。そのときは以下のようにする。 | ||
+ | gcc -DUSE_INCLUDE_G01 -Os -o hello efg01.c tek.c _gasfunc.s hello.c | ||
+ | -そして以下のコマンドで不必要なシンボル情報を除去する。 | ||
+ | strip hello | ||
-最後に以下のように入力してhelloをUPX圧縮する(そのOS向けのUPXが存在しないのならこの工程は省略)。 | -最後に以下のように入力してhelloをUPX圧縮する(そのOS向けのUPXが存在しないのならこの工程は省略)。 | ||
upx -9 hello | upx -9 hello | ||
Line 30: | Line 34: | ||
-(3)のやり方を少し変更すると、LinuxやBSDやBeOS用のefg01を作れる(と思う)。 | -(3)のやり方を少し変更すると、LinuxやBSDやBeOS用のefg01を作れる(と思う)。 | ||
gcc -Os -o efg01 efg01.c tek.c gasfunc.s | gcc -Os -o efg01 efg01.c tek.c gasfunc.s | ||
+ | strip efg01 | ||
upx -9 efg01 | upx -9 efg01 | ||
+ | --もし gasfunc.s でダメなときは _gasfunc.s でやる。 |
(This host) = http://osask.net