C++类对象的内存布局

Posted 我爱你,中国!中国加油,武汉加油!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++类对象的内存布局相关的知识,希望对你有一定的参考价值。

好文, 与当年我看《深度探索c++对象模型》时的困惑一样,当时看的也是云里雾里。

https://blog.csdn.net/shichao1470/article/details/91563282

有一点要说明一下, 现在最新的g++编译器,dump出c++类对象内存布局的编译选项,应该变为:
-fdump-lang-class, 而不是链接中的 -fdump-class-hierarchy选项, 最起码在我电脑上是这样的, 查看了在最新的gcc官方手册上, 也是这样的, 说明如下:

-fdump-lang-all
-fdump-lang-switch
-fdump-lang-switch-options
-fdump-lang-switch-options=filename
Control the dumping of language-specific information. The options and filename portions behave as described in the ‘-fdump-tree’ option. The following
switch values are accepted:
‘all’
Enable all language-specific dumps.
‘class’ Dump class hierarchy information. Virtual table information is
emitted unless ’‘slim’’ is specified. This option is applicable to
C++ only.
‘raw’ Dump the raw internal tree data. This option is applicable to C++
only.

以上是关于C++类对象的内存布局的主要内容,如果未能解决你的问题,请参考以下文章

C++ 对象的内存布局(下)

转载图说C++对象模型:对象内存布局详解

C++多态

C++ 虚拟继承内存布局

内存布局 C++ 对象

c++对象模型是什么,对象的内存布局和结构问题