荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: 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软件 网络书店