【发布时间】:2016-02-28 07:07:04
【问题描述】:
我正在学习 C 语言中的 malloc 函数。我知道如何请求内存
p = malloc(number_of_bytes);
并在以后不使用时释放它
free(p);
但我想知道一些比这更理论的东西:我知道虚拟内存有三种可能性:
虚拟地址不能分配物理存储(在页面文件或物理内存中)
虚拟地址可以在页面文件上有物理存储
虚拟地址可以在物理内存上进行物理存储
所以,我的问题是:
malloc 返回的内存在哪里(我的意思是,它是在页面文件上,还是在物理内存上(可能是堆?))?
【问题讨论】:
-
C++ 标签不合适
-
这里有一些关于
malloc内部实现的好读物:link。
标签: c linux memory memory-management