Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何将返回码传递给at_退出函数_C_Linux_Exit_Glibc_Exit Code - Fatal编程技术网

C 如何将返回码传递给at_退出函数

C 如何将返回码传递给at_退出函数,c,linux,exit,glibc,exit-code,C,Linux,Exit,Glibc,Exit Code,在安装了atexit的退出处理程序中,是否有一种“内置”方法可以知道传递给退出的退出代码 例如,如果调用退出(退出失败),我的处理程序将执行与退出(退出成功)不同的操作 我可以用一个全局变量来解决这个问题,但是无论在我的程序中的什么地方,调用exit都会让人感到不舒服。使用atexit否。但是您可以使用以下函数: 函数:退出时为int(void(*函数)(int状态,void*arg,void*arg) 此函数是atexit的一个更强大的变体。它接受两个 参数、函数和任意指针 arg。在正常程序

在安装了atexit的退出处理程序中,是否有一种“内置”方法可以知道传递给退出的退出代码

例如,如果调用
退出(退出失败)
,我的处理程序将执行与
退出(退出成功)
不同的操作


我可以用一个全局变量来解决这个问题,但是无论在我的程序中的什么地方,调用
exit
都会让人感到不舒服。

使用
atexit
否。但是您可以使用以下函数:

函数:退出时为int(void(*函数)(int状态,void*arg,void*arg)

此函数是atexit的一个更强大的变体。它接受两个 参数、函数和任意指针 arg。在正常程序终止时,使用两个 参数:传递给exit的状态值和参数

此函数包含在GNU C库中只是为了兼容性 对于SunOS,其他实现可能不支持


嗯,你必须使用gnu libc…

是的,我总是忘记写我使用glibc。谢谢