分析源代码编译链接过程和shell中ELF格式可执行文件的初始化执行过程

本文基于刘昆的《Linux内核分析》MOOC课程,探讨了源代码从编译链接到生成可执行文件(ELF格式)的过程,并通过三个进程的实例,展示了ELF文件在shell中的初始化执行流程。进程中,第一个进程通过execv执行第二个进程,第二个进程再执行第三个进程,第三个进程利用system()函数执行系统命令,显示当前进程的虚拟内存映射。
摘要由CSDN通过智能技术生成

刘昆

+《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ”


一、本文用到的三个源文件代码如下,三个进程将使用同一个进程号,第三个进程执行系统命令查看当前进程使用的动态库信息

//第一个进程,通过execv执行当前目录下进程2

#include <stdio.h>

#include <unistd.h>

int main(){

    printf("This is the first process, PID = %d\n",getpid());

    execv("./2",NULL);

}


//第二进程,通过EXEC执行新的进程3

#include <stdi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值