访问main
函数的返回值方式与系统有关。不论是UNIX
还是Windows
系统,执行程序后,必须发出一个适当的echo
命令。UNIX
下通过键入如下命令获取状态:
echo $?
Windows
下通过键入如下命令获取状态:
C:\directory> echo %ERRORLEVEL%
在进行源代码编译,或者执行命令无法确认所执行的命令是否成功执行的情况下,我们都会使用 echo $? 来进行测试。
如果返回值是0,就是执行成功;如果是返回值是0以外的值,就是失败。
之前在学习的时候只是机械的接受了这个事实,没有考虑背后的原理。
这二天在查看资料的时候突然看到了“进程生命周期”的知识:
当一个进程执行完毕时,该进程会调用一个名为_exit
的例程来通知内核它已经做好“消亡”的准备了。该进程会提供一个退出码(一个整数)表明它准备退出的原因。按照惯例,0
用来表示正常的或者说“成功”的终止。
也就是说我们在执行echo $?
时返回的值就是进程的退出码。而且,这个退出码是由刚刚执行完的进程提供给系统内核的。
更多linux资料请查看:http://www.apelearn.com/bbs/?fromuid=4297