1. 进程地址空间
![ndk学习11: linux内存管理 ndk学习11: linux内存管理](https://image.shishitao.com:8440/aHR0cDovL2ltYWdlczIwMTUuY25ibG9ncy5jb20vYmxvZy8xOTg2ODQvMjAxNjA4LzE5ODY4NC0yMDE2MDgwNzE2MTExMzM4Ny0xODcwNDg2MTEwLnBuZw%3D%3D.png?w=700)
2.内存管理
![ndk学习11: linux内存管理 ndk学习11: linux内存管理](https://image.shishitao.com:8440/aHR0cDovL2ltYWdlczIwMTUuY25ibG9ncy5jb20vYmxvZy8xOTg2ODQvMjAxNjA4LzE5ODY4NC0yMDE2MDgwNzE2MTExNTg3Mi00OTY4NDU0ODQucG5n.png?w=700)
栈上分配空间
alloca() 栈上分配大小
strdupa() 拷贝一个字符串到栈上(显然这个函数不安全)
挖漏洞的可以全局的源码审计下这个函数了
strndupa() 拷贝指定长度的内容到栈上
存储器操作函数:
memset bzero
memmove bcopy
memcpy
memccpy
memcmp bcmp
memchr memmem
memfrob
内存锁定:
mlock
mlockall
munlock
munlockall
检测内存页是否在物理内存上:
mincore
超量使用:
/proc/sys/vm/overcommit_memory 关闭超量使用
sysctl vm.overcommit_memory