C 如何将返回码传递给at_退出函数
在安装了atexit的退出处理程序中,是否有一种“内置”方法可以知道传递给退出的退出代码 例如,如果调用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。在正常程序
退出(退出失败)
,我的处理程序将执行与退出(退出成功)
不同的操作
我可以用一个全局变量来解决这个问题,但是无论在我的程序中的什么地方,调用
exit
都会让人感到不舒服。使用atexit
否。但是您可以使用以下函数:函数:退出时为int(void(*函数)(int状态,void*arg,void*arg) 此函数是atexit的一个更强大的变体。它接受两个 参数、函数和任意指针 arg。在正常程序终止时,使用两个 参数:传递给exit的状态值和参数 此函数包含在GNU C库中只是为了兼容性 对于SunOS,其他实现可能不支持
嗯,你必须使用gnu libc…是的,我总是忘记写我使用glibc。谢谢