设为首页 加入收藏

TOP

gcc下c++的对象模型 (1)(三)
2017-10-13 10:14:59 】 浏览:665
Tags:gcc 对象 模型
0x0000000000400b80 <+16>: xor %cl,(%rdx) 0x0000000000400b82 <+18>: add %al,(%rax) 0x0000000000400b85 <+21>: add %al,(%rax) 0x0000000000400b87 <+23>: add %bl,0x40(%rdx,%rcx,1) 0x0000000000400b8b <+27>: add %al,(%rax) 0x0000000000400b8d <+29>: add %al,(%rax) 0x0000000000400b8f <+31>: add %cl,0x400a(%rax) 0x0000000000400b95 <+37>: add %al,(%rax) 0x0000000000400b97 <+39>: add %dl,0x6010(%rax) End of assembler dump.

恭喜你终于找到了类A,不必犹豫,直接x命令查看这个地址内容吧。

(gdb) x /16xw 0x00400b80
0x400b80 <_ZTV1A+16>:   0x00400a30  0x00000000  0x00400a5c  0x00000000
0x400b90 <_ZTV1A+32>:   0x00400a88  0x00000000  0x00601090  0x00000000
0x400ba0 <_ZTI1A+8>:    0x00400ba8  0x00000000  0x00004131  0x3b031b01
0x400bb0:   0x00000060  0x0000000b  0xfffffc24  0x000000ac

见到代码段的内容,毫不犹豫直接disassemble:

(gdb) disassemble 0x00400a30
Dump of assembler code for function A::fun():
(gdb) disassemble 0x00400a5c
Dump of assembler code for function A::funa():
(gdb) disassemble 0x00400a88
Dump of assembler code for function A::funb():

按照地址的排序,顺序放着fun,funa,funb,在代码段中找到了这三个函数。
到这里笔者相信根据以上的信息足够画出类A的内存模型图了。

4. 类A的对象模型图

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇使用OpenCL 下一篇读书笔记 effective c++ Item 25 ..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目