3: 2009-01-11 (日) 10:47:49 [6] | 現: 2024-01-08 (月) 12:58:42 k-tan[7] [8] | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | * ぐいぐい01に関するメモ-23 | + | TITLE:x |
+ | * ぐいぐい01に関するメモ-23 [#d72ab6fc] | ||
-(by [[K]], 2009.01.11) | -(by [[K]], 2009.01.11) | ||
-メモのうち重要な部分をそのうちまとめてまともなページを作る | -メモのうち重要な部分をそのうちまとめてまともなページを作る | ||
- | *** (38) やや一般向けの「ぐいぐい01」の説明 | + | *** (38) やや一般向けの「ぐいぐい01」の説明 [#c28a2fcb] |
-これはもともとOSCのセミナーを依頼されたときに使おうと思っているネタ。でも別にwebに書いてあることをプレゼンしてはいけないということはないのだから、ここでばらしてもいいと思う。それに書いているうちに洗練されて、結果的にいいプレゼンになるかもしれない。 | -これはもともとOSCのセミナーを依頼されたときに使おうと思っているネタ。でも別にwebに書いてあることをプレゼンしてはいけないということはないのだから、ここでばらしてもいいと思う。それに書いているうちに洗練されて、結果的にいいプレゼンになるかもしれない。 | ||
---- | ---- | ||
Line 13: | Line 14: | ||
-いうなれば、 ELF Golf は小学生の部の最強でしかなく、僕が言っているのは無差別級です。そっちのほうが格段に面白いと思いませんか?・・・普通の人は思わないかもしれませんが、僕は思うのです!・・・ちなみに、この話の先にはx86にすら限定せず、CPUの命令セットまで自由に改良できるスーパー無差別級というのがあるはずです(なんらかのバイトコードとかでもいいと思います)。どうせならそれをやるべきだというのは僕も賛成ですが、一気にそこまでいくと手に負えないので(少なくとも僕は手に負えなかった)、まずはx86最小を極めてからにしました。 | -いうなれば、 ELF Golf は小学生の部の最強でしかなく、僕が言っているのは無差別級です。そっちのほうが格段に面白いと思いませんか?・・・普通の人は思わないかもしれませんが、僕は思うのです!・・・ちなみに、この話の先にはx86にすら限定せず、CPUの命令セットまで自由に改良できるスーパー無差別級というのがあるはずです(なんらかのバイトコードとかでもいいと思います)。どうせならそれをやるべきだというのは僕も賛成ですが、一気にそこまでいくと手に負えないので(少なくとも僕は手に負えなかった)、まずはx86最小を極めてからにしました。 | ||
-(2) | -(2) | ||
- | -それで結論から言うと、"hello, world\n"を出力するだけのプログラムは、16バイトということになりました。これは ELF Golf ではアリナシ型に相当するでしょうか。まあ仮に同じ条件にするために出力すべきものを"Hello, World!\n"にしたら17バイトになるでしょう。58バイトとの差し引きは実に41バイトになります。 | + | -それで結論から言うと、"hello, world\n"を出力するだけのプログラムは、16バイトということになりました。これは ELF Golf ではアリナシ型に相当するでしょうか。まあ仮に同じ条件にするために出力すべきものを"Hello, World!\n"にしたら17バイトになるでしょう。58バイトとの差し引きは実に41バイトになります。58バイトを目指したことがある人ならわかると思いますが、58バイトに近くなればなるほど1バイト削るのが難しくなります。それをローダを見直してフォーマットを合理的なものに変更するだけで、さらに41バイトも削れるのです。 |
-このhelloを実行できるローダを前提に、他にもアプリケーションを作ってみています。というのは、helloだけを小さくできるような仕様なら誰でも作れます。そうじゃなくて、どんなアプリケーションでもみんな一様に小さくなる仕様でないとELFに対して公平とはいえません。 | -このhelloを実行できるローダを前提に、他にもアプリケーションを作ってみています。というのは、helloだけを小さくできるような仕様なら誰でも作れます。そうじゃなくて、どんなアプリケーションでもみんな一様に小さくなる仕様でないとELFに対して公平とはいえません。 | ||
--100バイト未満のアプリ一覧 | --100バイト未満のアプリ一覧 | ||
Line 23: | Line 24: | ||
|calc1|RIGHT:86バイト|コマンドライン計算機(整数演算のみ)| | |calc1|RIGHT:86バイト|コマンドライン計算機(整数演算のみ)| | ||
- | * こめんと欄 | + | * こめんと欄 [#ya3d392c] |
#comment | #comment |
(This host) = http://osask.net