当前位置: 首页 > news >正文

windows查看内存布局

cl ConsoleApplication3.cpp /d1 reportSingleClassLayout[classname] /d1 reportAllClassLayout 可以查看源文件中所有类及结构体的内存布局 classname为类名,/d1 reportSingleClassLayout[classname]中间没有空格 加上#include<iostream> 会有很多额外的输出,在测试时可以注释掉
struct S { char x; int y; double z; }; class TestClass { private: char y; double z; int x; }; class Base { private: int x; public: virtual ~Base(); virtual void f1(); virtual int g1(); }; class Derived : public Base { private: char y; public: virtual float f2(); }; class Derived2 : public Base { private: double z; public: virtual void f1(); virtual float v2(); int f3(); }; class Base2 { private: int yy; public: virtual void g2(); }; class Derived3 : public Base, public Base2 { private: double zz; public: virtual void g3(); }; // cl ConsoleApplication3.cpp /d1 reportSingleClassLayoutS // cl ConsoleApplication3.cpp /d1 reportSingleClassLayoutTestClass // cl ConsoleApplication3.cpp /d1 reportSingleClassLayoutBase // cl ConsoleApplication3.cpp /d1 reportSingleClassLayoutDerived // cl ConsoleApplication3.cpp /d1 reportSingleClassLayoutDerived2 // cl ConsoleApplication3.cpp /d1 reportSingleClassLayoutDerived3
class Test { public: Test(); ~Test(); virtual void fun(); }; struct st1 { short number; float grade; float grade2; float grade3; char level; }; struct st2 { char level; short number; float grade; float grade2; float grade3; }; #pragma pack(1) struct st3 { char level; short number; float grade; float grade2; float grade3; }; #pragma pack() void TestSizeOf() { cout << __FUNCTION__ << endl; cout << "sizeof(short)= " << sizeof(short) << endl; cout << "sizeof(st1)= " << sizeof(st1) << endl; cout << "offsetof(st1, number) " << offsetof(st1, number) << endl; cout << "offsetof(st1, grade) " << offsetof(st1, grade) << endl; cout << "offsetof(st1, grade2) " << offsetof(st1, grade2) << endl; cout << "offsetof(st1, grade3) " << offsetof(st1, grade3) << endl; cout << "offsetof(st1, level) " << offsetof(st1, level) << endl; cout << "sizeof(st2)= " << sizeof(st2) << endl; cout << "offsetof(st2, level) " << offsetof(st2, level) << endl; cout << "offsetof(st2, number) " << offsetof(st2, number) << endl; cout << "offsetof(st2, grade) " << offsetof(st2, grade) << endl; cout << "offsetof(st2, grade2) " << offsetof(st2, grade2) << endl; cout << "offsetof(st2, grade3) " << offsetof(st2, grade3) << endl; cout << "sizeof(st3)= " << sizeof(st3) << endl; cout << "offsetof(st3, level) " << offsetof(st3, level) << endl; cout << "offsetof(st3, number) " << offsetof(st3, number) << endl; cout << "offsetof(st3, grade) " << offsetof(st3, grade) << endl; cout << "offsetof(st3, grade2) " << offsetof(st3, grade2) << endl; cout << "offsetof(st3, grade3) " << offsetof(st3, grade3) << endl; }
http://www.cnnetsun.cn/news/3235059.html

相关文章:

  • 2026大理黄金回收白银回收铂金回收中检持证鉴定师铂金银饰高价回收门店联系方式推荐
  • 百度开发岗面试题目
  • SEGGER RTT 移植实战:STM32F4 替换串口 printf,实测传输速率 2 MB/s
  • C语言数据类型,看这一篇就够了(小白友好)
  • 2026最新:适合内容创作者的5款免费实用B站UP主视频总结工具
  • 鸿蒙物理 108 篇 第七十九篇 时空流速差异化定则
  • TabDDPM 实战:在 15 个基准数据集上超越 GAN/VAE,ML 效率提升 5% 以上
  • 正则化参数 λ 调优指南:基于 K 折交叉验证的 5 步网格搜索法
  • 177.1.智能家居衣柜-WiFi-基于STM32单片机物联网设计【硬件+APP+云平台】
  • Few-shot Learning提示词实战速成:从零到部署——1天掌握动态示例选择+上下文压缩双引擎
  • Hermes Desktop 中文使用手册:打开以后,每个功能怎么用
  • 动态化能力:在跨平台应用中实现动态下发页面(113)
  • 【限时公开】Stable Diffusion电商私域素材库构建法:7天搭建10万级高质量SKU图库(含CLIP筛选阈值参数)
  • 如何让老旧窗口焕然一新:Magpie窗口超分辨率工具终极指南
  • ‌让学工管理更轻松:一体化平台如何助力高效学生数据统计‌
  • Stable Diffusion电商AB测试实战:同一商品图点击率提升27.4%的关键控制变量(附ControlNet光照一致性校准方案)
  • 2026农用地膜生产厂家推荐:综合实力解析,优质品牌选型参考
  • 如何以计算机的方式去思考?
  • 智谱与Minimax评级分化,AI变现从C端转向生产力场景成大势
  • Fable 5爆火玩法揭秘:低成本试错挖掘模型潜力,拉开AI使用差距!
  • 小红书笔记API 内容运营:3个关键场景下的数据驱动决策模型
  • 深度拆解 Kimi Goal 模式:一个「完全信任模型」的自主任务驱动系统设计
  • 2026年二本统计学专业学习数据分析的实用价值分析
  • 企业AI建设:从接模型到建认知
  • 肺纤维化研究有新工具了:武汉云克隆肺成纤维细胞(PF)原代细胞系列上线
  • 四川三泰云起,2026年7月亲测结果
  • 开源飞控APM避障功能介绍
  • 泰安学工管理系统:高效、智能、便捷的一站式解决方案
  • My School: 1靶场攻略
  • 支持二次开发的国产AI Agent平台有哪些?企业级开发底座与工作流引擎横评