我正在运行 linux,只是想知道在没有通过运行终止函数或类似的东西来“清理”的库代码的进程死亡后实际发生了什么。我见过有人对退出函数实现特定的清理,而其他人则没有这样做。
最佳答案
这取决于您期望的清理工作。库打开的所有本地操作系统资源(内存、打开的文件/套接字等)都将关闭/释放。即使您不调用关联的清理函数(释放/删除、关闭/关闭等),也会发生这种情况。
但是,非操作系统资源(例如在服务器上启动的事务)不会被自动清理。发生这种情况是因为操作系统不可能知道在这种情况下该怎么做。编写良好的服务器将优雅地处理这些情况。
此外,如果程序正常退出,库可以“隐藏”某些清理函数。
关于c++ - 当退出时 C++ 中的库不是 "cleaned up"时会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14191301/