一、对象内存查看工具
VS 编译器 CL 的一个编译选项可以查看 C++ 类的内存布局,非常有用。使用如下,从开始程序菜单找到 Visual Stdio 2012. 选择 VS 的命令行工具,按如下格式使用:
>cl /d1reportSingleClassLayout[classname] test.cpp
而使用 /d1reportAllClassLayout 则可以查看源文件中所有类及结构体的内存布局。
其中,classname 为类名,cl /d1reportSingleClassLayout[classname] 之间没有空格.
二、内存布局
参考:
[1]. 使用 CL 编译器选项查看 C++ 类内存布局. http://www.cnblogs.com/dsky/archive/2012/02/07/2340984.html
[2]. 对象布局的奥秘:虚函数、多继承、虚拟继承. http://blog.csdn.net/wangqiulin123456/article/details/8074891
[3]. 虚继承的内存模型分析. http://blog.csdn.net/wangqiulin123456/article/details/8059536