作者khoguan (Khoguan Phuann)
看板C_and_CPP
标题Re: [讨论] 有关main
时间Wed Aug 24 23:49:03 2005
※ 引述《freaky (jon)》之铭言:
: ※ 引述《khoguan (Khoguan Phuann)》之铭言:
: : void main() { } 是早年 DOS 时代 MS 的编译器就搞出来
: : 不符标准的东西。因为多数人,包括英文、中文编程书籍的
: : 作者,都在 MS 的淫威下讨生活,所以就一直持续出现这种
: : 写法。
: 请问这是那里来的说法?
: ISO C Standard 并未禁止 main() 的传回值宣告成 int 以外的值,
: 只有 ISO C++ Standard 有这项规定; 而大部份的 compiler
: 都是 C/C++ 通吃, 因此有些实作允许 void main() 的写法.
: 允许这种做法的也不只 MSVC, 还有 IBM VisualAge C/C++,
: Watcom C/C++ 等.
请先参考 C FAQ 这两则:
http://www.eskimo.com/~scs/C-faq/q11.12.html
http://www.eskimo.com/~scs/C-faq/q11.14.html
我说它不符标准的意思是说,只有将 main() 的传回值宣告成 int
才是 blessed by the standard and guaranteed to be portable
for any conforming C (or C++) implementation.
至於 void main() 的始作俑者,我是在 comp.lang.c* 上看到
人家说是 MS 搞出来的。请让我再找一下有无更权威的证据。
BTW, 你所举的实作也都是限於 MS 平台的。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 编辑: khoguan 来自: 220.130.208.168 (08/25 00:02)
1F:推 hardcover:建议不要让对平台的偏执延烧到的程式语言 XD 59.113.86.189 08/25
2F:→ hardcover:不然嘴炮文会和 linux板一样多 XD 59.113.86.189 08/25
3F:推 khoguan:谢谢楼上的提醒。220.130.208.168 08/25