荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: Elever@jcyz.org-SPAM.no (为革命 保护视力), 信区: Linux
标 题: Re: [请问]C++中的main()
发信站: 锦城驿站 (Fri Feb 18 22:10:43 2005)
转信站: SZU!news.szu.edu.cn!news.cn99.com!JCYZ
出 处: 222.18.63.35
定义main函数的返回值是为了通过exec调用该程序时能够有明确的返回值
这个返回值是用来通知其父进程,该进程是如何中止的。(想象多进程环境)
所以标准规定在main函数中调用return相当于调用exit
而exit又会调用exit_系统调用,传入一个参数,标识进程如何中止。
至于你说把main定义为void时,编译不过
这是跟你的编译器有关的
因为有一些编译器默认会在定义为void的main函数退出时调用exit
所以当定义为void的main函数退出的时候,如果没有return或exit语句
这种编译器会给出警告,如vc的编译器。
但这不是标准规定的内容,所以有另外一些编译器没有这么做也是符合标准的。
【 在 timehl. 的大作中提到: 】
: 为什么我在Linux底下把main() 定义成void 时,编译就是不让你通过,必须改成int
: 的才行。不知道是为什么,各位能否帮忙解决一下。
: 谢谢!
--
※ 来源:·BBS 锦城驿站 jcyz.org·[FROM: 210.41.87.193]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店