在Linux下释放C中的内存

Joe*_*ool 1 c linux memory-management

如果你没有释放你在Linux下的C程序中使用malloc的内存,它什么时候发布?程序终止后?或者内存是否仍然被锁定,直到一个不可预见的时间(可能在重新启动时)?

elc*_*uco 16

分配的内存malloc()在进程结束时释放.但是,shmget()当进程结束时,不会释放使用分配的内存 .小心一点.

编辑:

mmap()不是shmget()在这里读到的差异:http ://www.opengroup.org/onlinepubs/000095399/functions/mmap.html http://www.opengroup.org/onlinepubs/009695399/functions/shmget html的

它们是不同的系统调用,它们执行非常不同的操作.


Pau*_*ier 8

是的,当进程终止时释放内存.