c/c++ 对象内存布局

一、对象内存查看工具

  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

原文地址:https://www.cnblogs.com/yaozhongxiao/p/4421103.html