execve函数在当前进程中加载并运行新程序a.out 的步骤: 删除已存在的用户区域(用户态,上面这整个都删除) 创建新的区域结构 私有的、写时复制 代码和初始化数据映射到.text和.data区(目标文件提供) .bss和栈堆映射到匿名文件 ,栈堆的初始长度0 共享对象由动态链接映射到本进程共享区域 设置PC,指向代码区域的入口点 Linux 根据需要换入代码和数据页面