c++ - 当退出时 C++ 中的库不是 "cleaned up"时会发生什么

标签 c++ linux exit

我正在运行 linux,只是想知道在没有通过运行终止函数或类似的东西来“清理”的库代码的进程死亡后实际发生了什么。我见过有人对退出函数实现特定的清理,而其他人则没有这样做。

最佳答案

这取决于您期望的清理工作。库打开的所有本地操作系统资源(内存、打开的文件/套接字等)都将关闭/释放。即使您不调用关联的清理函数(释放/删除、关闭/关闭等),也会发生这种情况。

但是,非操作系统资源(例如在服务器上启动的事务)不会被自动清理。发生这种情况是因为操作系统不可能知道在这种情况下该怎么做。编写良好的服务器将优雅地处理这些情况。

此外,如果程序正常退出,库可以“隐藏”某些清理函数。

关于c++ - 当退出时 C++ 中的库不是 "cleaned up"时会发生什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14191301/

相关文章:

c++ - 定义具有相同名称和值的符号字符串常量

c++ - QDir::rename() 用于 2 个不同的分区

vb6 - 尽早结案

c++ - 在 Arduino 上拆分字符串

C++ - 从 main 退出的最佳方式

c++ - 在 wxWidgets 中使用 GUI 附加控制台

JavaFX 应用程序在 System.exit() 之后不会终止

python - 如何监控在 linux/tcl/python 中打开或启动的应用程序?

linux - 如何查询X11显示分辨率?

Bash 退出不退出