在我的里面atexit()注册函数我想获得退出状态(参数exit(3)或者 main() 返回了什么)。
有没有任何便携式方法可以做到这一点?是否有任何 GNU libc 特定的方法可以做到这一点,例如我可以引用的全局持有该值?
这是一个技巧:
// hack.c
int last_exit;
// hack.h
extern int last_exit;
#define exit(x) (exit)(last_exit = (x))
不会为return
,但是,嘿,它是便携式的!
为了对维护者更友好,您可能需要考虑编写某种形式的包装器来为您执行类似的操作。破解 GCC 的实现方式exit()
听起来像是一场维护噩梦。最好编写一些为您退出的辅助函数,如果您喜欢这种事情,甚至可以用宏屏蔽它们。使用宏,您甚至可以替换return
打电话,如果你总是打电话return
带括号。尽管这听起来更像是一场维护噩梦。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)