作者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