发件人:The Amorphous Mass <robinson@blue.weeg.uiowa.edu>
收件人:scs@eskimo.com
日期:1995年12月18日星期一 16:40:20 -0600 (CST)
主题:void main(void) 导致 PC 崩溃
Message-ID:<Pine.A32.3.91.951218160207.26209A-100000@black.weeg.uiowa.edu>

嗨 Steve,

抱歉这么久才回复;这里实在太忙了。导致崩溃的机器是一台 Toshiba Satellite T2400CT,搭载 486/66 处理器,运行 Windows 3.1.1。编译器是 Borland C++ 4.0,安装为严格 ANSI C 模式。症状很简单:你编译程序,然后运行它,你会收到一个语法错误——来自**链接器**!将voidint可以立即解决问题。当然,由于 Borland 默认似乎是严格 ANSI 兼容的(我的同事并没有指定严格 ANSI 模式),因此在不重新安装编译器的情况下,无法运行 Borland 大部分自己的示例代码……

这不像我最初想的那么令人激动,但这是一个很好的例子,说明了在 `void main()` 被认为是“好风格”的平台上,使用提倡这种风格的编译器之一,会出现未定义的行为。

希望这有点价值。我曾希望它真的能像我的同事说的那样让机器死机,但链接器语法错误也算是一种相当令人满意的崩溃了。:)

___________
Bushido, n.: the ancient art of keeping your  | James Robinson
cool when a US President ralphs in your lap.  | james-f-robinson@uiowa.edu