可以在C程序中终止时调用代码吗?

use*_*112 4 c

在C++中,如果我希望代码调用一些不好的事情,我可以将代码放在析构函数或try-catch中.

在C中是否有类似的技术,如果程序意外终止,我可以调用特定的例程(清理资源)?

Bat*_*eba 6

在C中,您使用C标准库函数atexit,该函数允许您指定void在程序终止时不调用任何参数的函数(概念上,当达到}第一次调用的右括号时main).

您可以在便携式C中注册最多32个这样的功能,并按照注册顺序相反的顺序调用它们.

http://en.cppreference.com/w/c/program/atexit