首先找到开发人员命令提示符:
- 在开始菜单栏VS目录下有一个“开发人员命令提示符”(Developer Command Prompt ..) 字样的小黑框,就是开发人员命令提示符。
- 双击打开后应该是这样的界面:

如果你的目标文件不是你当前显示的盘符(例如上图盘符是D盘),就需要进行跳转到你的当前目标盘符,具体格式为:
- 目标盘符:(回车) 例如:C: \r
接着通过vs获得你需要查看类的路径:(打开文件夹找也可以)

跳转路径:
- cd(空格)(目标所在文件夹下) 注意这里是目标所在的文件夹而不是目标类,如果直接复制路径的话需要删除具体文件名(上图复制的路径需要删除main.cpp)

查看dir索引(也可以不看,但是保险起见还是看一眼)
- dir(回车) 显示的这些东西就是这个文件夹下的所有东西

然后就可以查看你想要查看的某个类的结构了,直接输入以下内容:
- cl(空格)/d1(空格)reportSingleClassLayout(类名)(空格)(文件名)(回车)
例如我要查看我main.cpp文件中,Base类的结构:
- cl /d1 reportSingleClassLayoutBase main.cpp
效果如下图:

这里显示Base类内,有四个字节大小;
一个成员变量b

注意:
- static修饰的变量存储在静态区,这里不占用空间,如果将其修改为非静态成员,那么上面的显示就会变为八字节,a变量,b变量
本文档介绍了如何在Windows环境下利用开发人员命令提示符来查看C++类的内存布局。首先,找到并打开开发人员命令提示符,然后切换到目标文件所在的盘符和目录。接着,使用`cd`命令进入目标文件夹,用`dir`查看文件夹内容。最后,输入`cl /d1reportSingleClassLayout 类名 文件名`来查看指定类的结构。示例中展示了如何查看`main.cpp`中`Base`类的结构,结果显示类占用4个字节,并包含一个成员变量`b`。注意,静态变量不占用类的内存空间。
17万+

被折叠的 条评论
为什么被折叠?



