想对后来出现做维护工作的其他程序员造成可怕的事情吗?编写不需要 main() 的 C++ 代码。然后编写没有 *有* main() 的 C++ 代码。是的。
我很久以前就提到过,在代码中称之为“幽灵般的远距离动作”,但现在看来,这似乎是一个非常冗长的演示。
相反,今晚,我提出了一个简单得多的版本。通常的免责声明适用:可能会召唤会困扰您灵魂的远古者。可能不适用于所有系统或编译器。在我给它 -O2 之前它对我不起作用,即使那样,它仍然会给出一个宏伟的段错误。
无论如何,享受邪恶吧。
$猫hhhehehehe .cc #include <unistd.h> 类 wat { 上市: wat() { write(1, "wat\n", 4); } }; 静态哇哇_; // 没有主线。没有其他的。 $ g++ -O2 -Wall -nostartfiles -o hhhehehehe hhhehehehe.cc /usr/bin/ld: 警告:找不到入口符号 _start; [...] $ ./hhhehehehe 扫管笏 分段故障 $
就是这样。