扫码加入

  • 正文
  • 相关推荐
申请入驻 产业图谱

飞凌嵌入式ElfBoard-文件I/O的了解探究之错误的退出操作

2025/11/22
372
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

当程序在执行某个函数时出现错误,如果该错误会导致后续步骤无法正常进行,应该在错误发生时立即终止程序的执行,而不是让程序继续运行下去。

在 Linux 系统下,进程正常退出除了可以使用return之外,还可以使用exit、_exit以及_Exit。

1.3.5.1 exit

该函数是一个标准C库函数,函数会执行一些清理工作,最后调用_exit()函数终止进程。

1.头文件

#include <stdlib.h>

2.函数原型

void exit(int status);

3.参数

status:表示程序退出的返回值。

4.返回值

无。

5.示

#include <stdio.h>

#include <stdlib.h>

#include <errno.h>

int main()

{

FILE *fp = fopen("exit", "r");

if (!fp) {

perror("exit test");

printf("errno1= %dn", errno);

exit(errno);

}

fclose(fp);

printf("errno2= %dn", errno);

exit(errno);

}

6.编译运行并查看测试结果

exit test: No such file or directory

errno1= 2

1.3.5.2 _exit和_Exit

这两个函数都是系统调用,函数会在不执行exit()的清理操作的情况下立即终止调用的进程,它不刷新I/O缓冲区,也不关闭打开的文件描述符。

1.头文件

#include <unistd.h>和#include <stdlib.h>

2.函数原型

void _exit(int status); 和 void _Exit(int status);

3.参数

status:表示程序退出的返回值。

4.返回值

无。

5.示例

与exit相同,仅换成_exit和_Exit。

相关推荐