cl test.cpp /d1reportSingleClassLayoutB 从这个内存布局就可以看出来class A、class A1和ClassB的大小,本身class A的大小应该是1bytes的内存定位大小加上虚函数指针4bytes因为有了虚函数指针后1bytes的占位就可以取消了。所以A的大小就是4bytes,同理Class A1。对于Class B它主要是从class A和class A1(虚继承)...
1 1、找到VS2017命令提示符工具2、查看类在32位以及64位系统下的内存布局,选择合适的命令提示符工具3、选择“VS 2017的开发人员命令提示符”4、打开“VS 2017的开发人员命令提示符”窗口5、编写类与继承类6、使用命令:cl /d1 reportSingleClassLayoutXXX [filename]7、查看虚函数表的布局、类的大小、父类等...
通过查资料看到Visual Studio有提供一个查看类虚函数表的方法,试了一下觉得很好用,因此总结一下。本人使用的VS版本为vs2010,通过网上资料看各个版本使用该方法的方式基本一致,大家可以自己试一试。 1、vs2010下查看类的虚函数 首先打开visual studio提供的命令提示工具Visual Studio Command Prompt ......