在C++中,如果我希望代码调用一些不好的事情,我可以将代码放在析构函数或try-catch中.
在C中是否有类似的技术,如果程序意外终止,我可以调用特定的例程(清理资源)?
在C中,您使用C标准库函数atexit,该函数允许您指定void在程序终止时不调用任何参数的函数(概念上,当达到}第一次调用的右括号时main).
您可以在便携式C中注册最多32个这样的功能,并按照注册顺序相反的顺序调用它们.
见http://en.cppreference.com/w/c/program/atexit