C++?麯???????
???????????? ???????[ 2015/8/6 14:34:11 ] ????????.NET ???????????
??????<<??C++>>???????? VC6.0 ??????????????d1reportAllClassLayout?????? ????????????????沼??????? ????????????vs2005????????????????????vs2005????????????d1reportAllClassLayout??
??????????????(Properties)—??????????(Configuration Properties)—??C/C++--???????У?Command Line???????????/d1reportAllClassLayout????????????????????????????????????????????У?cl –d1reportSingleClassLayout[classname] test.cpp??
?????????????
????class CBase
????{
????public:
????virtual void fun(void) {}
????private:
????int m_valuable;
????};
????????????
????class CBase size(8):
????+---
????0 | {vfptr}
????4 | m_valuable
????+---
????CBase::$vftable@:
????| &CBase_meta
????| 0
????0 | &CBase::fun
????CBase::fun this adjustor: 0
????CDerived????virtual???CBase?????????virtual??д?????????virtual?·???????????????
????class CDerived: public CBase
????{
????public:
????void fun(void) { }
????virtual void vfun(void) { }
????public:
????int m_derived;
????};
?????????????????
????class CDerived size(12):
????+---
????| +--- (base class CBase)
????0 | | {vfptr}
????4 | | m_valuable
????| +---
????8 | m_derived
????+---
????CDerived::$vftable@:
????| &CDerived_meta
????| 0
????0 | &CDerived::fun
????1 | &CDerived::vfun
????CDerived::fun this adjustor: 0
????CDerived::vfun this adjustor: 0
????????vftable@CBase??CBase::fun????????????CDerived::fun???????????????CDerived::vfun??
????CDerived2??virtual???CBase?????????virtual??д?????????virtual?·??????????????????????vftable@?????vbtable@?????member@????????CBase????
??????
???·???
??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44???????????????
2021/9/17 15:19:29???·???????·
2021/9/14 15:42:25?????????????
2021/5/28 17:25:47??????APP??????????
2021/5/8 17:01:11