layout2.c
来自「俄罗斯高人Mamaich的Pocket gcc编译器(运行在PocketPC上)」· C语言 代码 · 共 34 行
C
34 行
// Red Hat bugzilla 65210// { dg-do run }struct A { int a;};struct B : public virtual A {};struct C { long double c;};struct D : public virtual C { int d;};struct E : public B, public D { int e;};E e;/* The layout of E should begin with the B-in-E vtable pointer, followed by the D-in-E vtable pointer. The bug was that we used to pad out the D fields for long double alignment. */int main (){ D* dp = &e; unsigned long d_offset = ((char*)dp) - ((char*) &e); return (d_offset != sizeof(void *));}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?