我正在使用fdump-class-hierarchy编译器选项,但我不知道如何理解输出."大小","对齐","基本大小"和"碱基对齐"是什么意思,以及这些是如何计算的?谢谢!
当代码是:
class A
{
public:
private:
double m_nothing;
int m_number;
};
Run Code Online (Sandbox Code Playgroud)
输出是:
Class A
size=16 align=8
base size=16 base align=8
A (0x406c690) 0
Run Code Online (Sandbox Code Playgroud)
但是,如果我稍微改变一下课程:
class A
{
public:
private:
int m_number;
double m_nothing;
};
Run Code Online (Sandbox Code Playgroud)
输出将是:
Class A
size=16 align=8
base size=12 base align=8
A (0x406c690) 0
Run Code Online (Sandbox Code Playgroud)