cl查看类的内存布局

来源:互联网 发布:孔凤春马齿苋水 知乎 编辑:程序博客网 时间:2024/05/22 14:43
class Test{private:int ival;public:Test();~Test();int GetVal(){return ival;};virtual int SetVal(int val){ival=val;};};

单个类 (区分大小写 /d1reportSingleClassLayout

cl test.cpp  /d1reportSingleClassLayoutTest


所有类 (区分大小写 /d1reportAllClassLayout

cl test.cpp /d1reportAllClassLayout


http://www.openrce.org/articles/full_view/23

In most cases MSVC lays out classes in the following order:

  • 1. Pointer to virtual functions table (_vtable_ or _vftable_), added only when the class has virtual methods and no suitable table from a base class can be reused.
  • 2. Base classes
  • 3. Class members

0 0
原创粉丝点击