一个关于c++程序的问题

来源:百度知道 编辑:UC知道 时间:2024/06/24 06:23:44
麻烦高手看一下,以下这个程序中的 #include"process.h" 有什么用?
exit(1)怎么来的?是个函数吗?
exit(1) 是什么意思呀?

exit不依赖于任何头文件,这个函数的意思是退出程序,不再继续执行(注意不是退出某个函数,而是这个进程就终止了)
exit(1)表示退出程序,整个进程的返回值是1,这是给操作系统使用的返回值
一般可以在linux系统下这样测试:
//test.c
int main(){
exit(123);
}

gcc -o test test.c
./test
echo $?
可以看到屏幕上显示123,即test的返回值
该值一般是让系统了解这个程序的返回状态,0表示没有错误,大于0的返回值一般是一个错误号码

注:学C/C++还是在linux上学比较好

每个进程都会有一个返回值的.
进程开始时是由系统的一个启动函数掉用了main函数的:
int nMainRetVal = main();
当从main函数退出后,启动函数便调用exit函数,并且把nMainRetVa传递给它.
所以,任何时候都会调用exit函数的,正常情况下,main函数不会调用exit函数的,而是由return 0;返回值给nMainRetVal的,exit再接收这个值作为参数的.所以,正常情况下是以exit(0)退出的.
如果,你程序发生异常,你可以在main函数中调用exit(1),强制退出程序,强制终止进程.其中1表示不正常退出

process.h
这里面包含了,过程控制有关的函数。
主要有:
exit,abort
execl,system
spawnl
等函数,和进程有关的常量的声明。

补充:exit(0)表示正常中止程序
exit(1)表示非正常中止程序

#include"process.h"
用来操作线程和进程的,一般用于多线程程序。

exit(1)是以1为返回值退出程序。(注意不是函数return)