一、

llinux对内存空间的描述&&malloc的工作原理_空间数据



二、实验

1、编写代码

llinux对内存空间的描述&&malloc的工作原理_编写代码_02


解释:

getpid():获取当前进程的PID


2、打开一个新的TERMINAL。依次键入以下命令


cd /proc/${PID}

cat maps


ps aue 

ldd 可执行文件名



这时你会看到以下界面:

llinux对内存空间的描述&&malloc的工作原理_链表_03

解释:

8048 —— 8049 :代码区

8049后面的 : 全局栈


三、malloc的工作原理

malloc使用一个数据结构(链表)维护分配空间。

这个链表的构成是:分配的空间/上一个空间数据/下一个空间数据/空间的大小

对malloc的分配的空间不要月结访问。因为容易破坏后台的维护结构



四、new和new[]、malloc的区别

llinux对内存空间的描述&&malloc的工作原理_链表_04

llinux对内存空间的描述&&malloc的工作原理_空间数据_05




五、定位分配

llinux对内存空间的描述&&malloc的工作原理_编写代码_06