使用VS查看类实例的内存布局

使用VS查看类实例的内存布局

因为 MSVC 下使用 /d1 reportAllClassLayout 开关可以很方便的查看内存布局,可以查看虚函数表,内存占用大小等。

其使用方法是:首先确保电脑安装了 VS,我安装的是 VS2019,在 Win10 的开始菜单中依次找到:Visual Studio Tools -> x64 Native Tools Command Prompt for VS 2019 -> 打开,会进入 CMD 界面,然后切换到你的代码目录,比如我的代码在 CppTest 目录下,使用 cd 命令切换:

cd D:\Study\C++\CppTest

使用 dir 命令可以查看该目录下的所有文件,此目录下,我们有一个 CppTest.cpp 文件,其中是 Cpp 关于类的继承的代码。

我们输入命令:cl /d1 reportSingleClassLayoutXXX [filename],其中 XXX 是类名,[filename] 是文件名,实例如下,比如类名是 D,文件是 CppTest.cpp :

cl /d1 reportSingleClassLayoutD CppTest.cpp

输出结果中可能打印出了很多类的信息,但前面很多都是标准库中的调用类相关,我们不用关心,只需要在后面找到我们编写的类 D 的内存布局即可,例如现在有 cpp 代码中类 D 定义如下:

class Base
{
   
   
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

code_peak

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值