编译和链接的区别
来源:互联网 发布:转转跟咸鱼 知乎 编辑:程序博客网 时间:2024/06/02 06:16
先看这样一篇汇编代码
.section .text
.global _start
_start:
nop
movl $4, %eax
movl $1, %ebx
movl $5, %ecx
movl $13, %edx
movl %eax,%ebx
movl $1, %eax
movl $0, %ebx
int $0x80
使用 as -gstabs 20160001.s -o 2016.o得到的是二进制代码
使用ld -o 2016 2016.o得到的是可执行文件
将中间代码也就是二进制代码,通过反汇编得到的是
最左边一列代表的是相对位置,位置是从0开始的,中间的是机器码,最右边一列是汇编指令
可以看到,中间代码没有被装载进内存中,因为地址都是以相对地址来表示的。
将可执行代码2016反汇编得到的
同样的道理,最左边的是指令地址,但是很明显,这个地址是32位的,说明代码已经装载进内存中了。
这个例子说明了中间代码链接前和链接后之间的区别。
0 0
- 编译和链接的区别
- 编译和链接的区别
- 编译和链接的区别
- 编译和链接的区别
- 编译和链接的区别
- 编译和链接的区别
- 编译和链接的区别
- 编译和链接的区别
- 编译和链接的区别
- 编译和链接的区别
- 编译和链接的区别
- 编译和链接的区别
- 编译和链接的区别
- 编译和链接的区别
- 编译和链接的区别、makefile怎么写
- 程序的编译和链接
- 程序的编译和链接
- 程序的编译和链接
- Destoon修改原模板商家只能发布所选地区商品问题
- 车牌识别之EasyPR-Linux安装配置篇
- 游戏服务器使用TCP和UDP
- Dagger2入门
- JDCB学习笔记 -- day05 实现一个用户的登录功能及解决SQL注入问题
- 编译和链接的区别
- windows下的python多版本共存遇到的一些问题
- 使用C语言进行面向对象的开发--GObject入门[2]
- 一道线代题目的总结
- 设计模式之单例模式
- matlab gui多条线 分别显示,高亮
- MYSQL 优化常用方法
- 【poj 1517】 u Calculate e
- HBase技术介绍