这个电话去哪儿了
Where does this call go?
本文关键字:电话 更新时间:2023-10-16
也许这对cpp开发人员来说太简单了,我无法理解。。
在这个简单的对象文件中,在第"3f"行和第"2d"行寻址是如何工作的?14和0索引来自哪里?
2d: e8 e2 ff ff ff callq 14 <_ZL9privatef2v>
3f: e8 bc ff ff ff callq 0 <_ZL8privatefii>
完全拆卸:
Disassembly of section .text:
0000000000000000 <_ZL8privatefii>:
0: 55 push %rbp
1: 48 89 e5 mov %rsp,%rbp
4: 89 7d fc mov %edi,-0x4(%rbp)
7: 89 75 f8 mov %esi,-0x8(%rbp)
a: 8b 45 f8 mov -0x8(%rbp),%eax
d: 8b 55 fc mov -0x4(%rbp),%edx
10: 01 d0 add %edx,%eax
12: 5d pop %rbp
13: c3 retq
0000000000000014 <_ZL9privatef2v>:
14: 55 push %rbp
15: 48 89 e5 mov %rsp,%rbp
18: b8 86 00 00 00 mov $0x86,%eax
1d: 5d pop %rbp
1e: c3 retq
000000000000001f <_Z3fooii>:
1f: 55 push %rbp
20: 48 89 e5 mov %rsp,%rbp
23: 48 83 ec 18 sub $0x18,%rsp
27: 89 7d ec mov %edi,-0x14(%rbp)
2a: 89 75 e8 mov %esi,-0x18(%rbp)
2d: e8 e2 ff ff ff callq 14 <_ZL9privatef2v>
32: 89 45 fc mov %eax,-0x4(%rbp)
35: 8b 55 e8 mov -0x18(%rbp),%edx
38: 8b 45 fc mov -0x4(%rbp),%eax
3b: 89 d6 mov %edx,%esi
3d: 89 c7 mov %eax,%edi
3f: e8 bc ff ff ff callq 0 <_ZL8privatefii>
44: c9 leaveq
45: c3 retq
0000000000000046 <main>:
46: 55 push %rbp
47: 48 89 e5 mov %rsp,%rbp
4a: 48 83 ec 10 sub $0x10,%rsp
4e: be 0a 00 00 00 mov $0xa,%esi
53: bf 0a 00 00 00 mov $0xa,%edi
58: e8 00 00 00 00 callq 5d <main+0x17>
5d: 89 45 fc mov %eax,-0x4(%rbp)
60: b8 00 00 00 00 mov $0x0,%eax
65: c9 leaveq
66: c3 retq
搬迁表:
RELOCATION RECORDS FOR [.text]:
OFFSET TYPE VALUE
0000000000000059 R_X86_64_PC32 _Z3fooii-0x0000000000000004
RELOCATION RECORDS FOR [.eh_frame]:
OFFSET TYPE VALUE
0000000000000020 R_X86_64_PC32 .text
0000000000000040 R_X86_64_PC32 .text+0x0000000000000014
0000000000000060 R_X86_64_PC32 .text+0x000000000000001f
0000000000000080 R_X86_64_PC32 .text+0x0000000000000046
在callq N, text
指令中,N似乎是要调用的地址,而文本似乎是分配给该地址的标签。因此,0与<_ZL8privatefii>和14与<_ZL9private2v>。
相关文章:
- C++ 电话号码字母拨号程序 - 语法错别字?还是非 ASCII 字符?
- 电话价格问题(十月挑战代码厨师)
- 使用 Firebase 从C++获取用户的电话号码
- 拦截黑莓电话
- 使用Regex验证电子邮件和电话字段QT
- 电话拨号程序将字母转换为卡片花色而不是数字
- 文本文件中的电话号码查找
- 如何实现C 电话号码格式:(000)-000-000
- 如果 LibpocoFoundation 与我的小应用程序相关联,readdir 就会挂断电话
- C++ 2D 阵列...迷失在原型和电话上,在任何地方都看不到这个
- C 电话号码程序
- 电话目录程序使用C 中的2D数组
- 隐式操作员bool()没有回应我的电话
- 我想串入文本文档中列出的电话号码
- 如何在BlackBerry Cascades中显示带有一定数量的电话手板
- 编译弃用电话的时间检测
- 从NDK获取EMEI或电话ID
- 我的第三方电话遇到了C2758错误
- 如何将C/C++printf()消息重定向到windows电话日志系统
- 通过TCP的SIP+转换为UDP以与SIP电话通话