我编写了一个 C 程序,其中包含使用该malloc()函数分配内存的代码。如果我不使用该free()功能释放内存,Ubuntu会自动释放它吗?
kos*_*kos 16
是的。
内核将在程序终止时释放程序分配的所有资源。
这是在do_exit()定义的函数kernel/exit.c终止执行后完成的;该do_exit()函数的执行本身可能由多个事件触发,最常用的是一个明确exit()的规则计算过程或隐式由程序调用系统调用exit()通过在其终止的程序调用系统调用(如C编译器放置一个exit()后系统调用main()的返回)。其他原因包括接收到不可处理/不可忽略的信号或异常。
该do_exit()函数本身执行许多任务。在它终止执行后,程序分配的资源由内核释放并返回给系统以供进一步使用。
| 归档时间: |
|
| 查看次数: |
2004 次 |
| 最近记录: |