我在想...假设我已经动态分配了一个数组

array = calloc(n, sizeof(float));


或类似的东西。并且如果n是一个非常大的数字(出于参数考虑,大约为100万),如果我最后没有free()清除堆内存,Linux将花费多长时间?我知道任何操作系统都会四处清理未释放和未使用的堆内存区域。但是我认为需要花多长时间取决于操作系统。

最佳答案

如果进程被终止(自愿或强制终止),则其所有堆内存将被包括Windows,Linux和OS X在内的操作系统立即回收。

关于c - Linux需要多长时间清除堆内存,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13174054/

10-12 00:27