セグフォコードゴルフってジャンルでもあるんでしょうか()
— namnium (@namnium_01) June 28, 2020
ところでC言語の場合で
main(){int*a;a[1]=1;}
より短くってできますか?
pythonを2行でセグフォらせる https://t.co/3D2HTjfL72 #Qiita
から始まったセグフォコードゴルフ。やってみよー
参考リンク:
外道な回答
a.c
以上です!!やったー!!0文字だー!!
やったーじゃない、これにコンパイラオプション指定してごにょごにょしてやる。
[kmtr@localhost ~]$ cat Makefile
all: a.out
a.out : a.c Makefile
LANG=C gcc a.c -o a.out -nostdlib -Wl,--build-id=none
clean :
rm a.out
コンパイルと実行時のログ
[kmtr@localhost ~]$ cat a.c
[kmtr@localhost ~]$ make a.out
LANG=C gcc a.c -o a.out -nostdlib -Wl,--build-id=none
/usr/bin/ld: warning: cannot find entry symbol _start; defaulting to 0000000000400078
[kmtr@localhost ~]$ file a.out
a.out: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, not stripped
[kmtr@localhost ~]$ ./a.out
Segmentation fault (コアダンプ)
解説というほどでない解説
-nostdlib
リンク時に、標準スタートアップや標準ライブラリを使いません。
--build-id=none
気分でつけているだけですが、コンパイル時のsessionに紐づいたハッシュを生成しなくする(なくてもよい)
以上です。いや、何も書くことがない……