Linux c程序的编译&链接

Linux下每一步生成文件的后缀
源代码 预编译 编译 汇编 链接
.c .i .s .o a.out

1.预编译:gcc -E .c -o .i
处理预编译指令,删除注释
在这里插入图片描述
2.编译:gcc -S .i
词法、语法、解析,代码优化生成符号
在这里插入图片描述
3.汇编:gcc -c .s
可重定位的二进制目标文件
1.将汇编指令翻译成二进制
2.生成符号表
3.生成各个段
在这里插入图片描述
Linux中文件存储时ELF格式的 windows是EXE格式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.链接:
1.合并各个段,调整段大小以及段的起始位置
2.合并符号表,解析符号
3.符号重定位
在这里插入图片描述
5.中间文件和可执行文件ELF布局比较
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值