c - sem_open 是否分配内存?

标签 c semaphore

如果我在程序中使用 sem_open(),然后使用 exit() 退出而不使用 sem_close() ,是否会造成内存泄漏?或者它就像 open()/close() 函数一样,只是关闭文件描述符?

最佳答案

使用合适的操作系统,您不必担心程序退出时的资源泄漏。操作系统将回收内存、打开文件等。只有像文件或共享对象标识符这样的持久对象才能在程序结束后继续存在。

内存(或其他资源)泄漏是一个问题,因为它们是不谨慎编程的暗示,并且在现实世界中,对于长时间运行的程序,或者如果它们发生在循环内,这都是一个问题。但通常认为在 fatal error 退出时泄漏资源是无害的。

关于c - sem_open 是否分配内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65390563/

相关文章:

c++ - 在 C++ 中定义带条件的宏

c - 打印初始化结构

c - Scanf 在 do-while 循环中更改了错误的数组

c++ - 是什么决定了程序进行哪些系统调用?

c - 在C中动态创建sembuf结构

c - System V 信号量多次递增/递减

c - C Windows 中的单 channel 隧道互斥锁示例

c++ - GCC- 无效使用 Register

c - 信号量并发

c++ - Windows 上的快速计数信号量?