0
基本上,我用objdump -D
来卸载目标文件和ELF文件。我认为两者之间的主要区别在于。反汇编对象和可执行文件的差异
我看到目标文件(单个段)中的指令的地址以开头。因此,连续地址是,将偏移一定的值,可能取决于对应于该特定指令的操作码的长度。
Disassembly of section .text:
00000000 <main>:
0: 8d 4c 24 04 lea 0x4(%esp),%ecx
4: 83 e4 f0 and $0xfffffff0,%esp
7: ff 71 fc pushl -0x4(%ecx)
a: 55 push %ebp
在另一方面,对于ELF罚款我看到了一个instructions.Also 32 位地址空间如果我在我的程序打印main
地址。这相当于我拆散ELF中的地址。
08048394 <main>:
8048394: 8d 4c 24 04 lea 0x4(%esp),%ecx
8048398: 83 e4 f0 and $0xfffffff0,%esp
804839b: ff 71 fc pushl -0x4(%ecx)
804839e: 55 push %ebp
这里的问题是。
- ELF文件中的地址实际上指的是什么?
- 链接器如何计算它们?