長度為0。
樓上各位給出的程式碼都十分精彩,但假如就「能過編譯並生成可執行檔,並且可執行檔執行時會導致崩潰的程式碼」這一定義來說,最短的C++程式碼的長度是0,即空的".cc"檔。
操作過程如下(以linux命令列為例):
首先,建立空的".cc"檔。
$ touch empty.cc
之後用g++僅進行編譯與組譯,而不進行連結。
$ g++ -c empty.cc
再用ld命令手動進行連結。
$ ld empty.o
ld: warning: cannot find entry symbol _start;
defaulting to 0000000000400078
最後執行可執行檔,得到Segmentation fault。
$ ./a.out
Segmentation fault (
core dumped)
註:以上均為linux命令列,實際C++程式碼長度為0。