Strangest abuse of the rules

もっとも奇妙なルール悪用

受賞者:Jari Arkko

引用元:https://www.ioccc.org/1989/jar.1.c

審査員・作者による説明:https://github.com/ioccc-src/winner/blob/main/1989/jar.1.hint

動作

コンパイルしたオブジェクトファイルの中にHello worldが見えるというもの。

$ gcc -c -o jar.1.o jar.1.c
$ cat jar.1.o
ELF......
Hello world.
GCC: (Ubuntu 9.3.0-10ubuntu2) 9.3.GNU.......

解説

作者の意図としては、cc -c -o /dev/tty jar.1.cとコンパイルすることで、コンパイル結果を直接TTYに書き出させることだったらしい。 しかし現代ではこれは動かなくなっていたので残念。

作者のもともとのソースコード(jar.1.orig.c)はchar*He="llo world.\n";となっていた。 おそらく、当時のオブジェクトファイルのヘッダ部分やシンボル情報などにHeが含まれていて、それとつながって表示されていたのではないかと思う。 考古学もとむ。

翌年からルールに「実行可能な通常のファイルになること」が追加された。

同じ年に同じ人が複数入賞した初の事例。 ただしもう1つの[[1989/jar.2]]は3人の共作で、この作品と同じ人が筆頭作者となっている。