📄 pragma-pack-2.c
字号:
/* On Solaris, #pragma pack should accept macro expansion. *//* { dg-do run { target *-*-solaris2.* } } */extern void abort (void);struct { char one; long two;} defaultalign;#define ALIGNHIGH 16#pragma pack(ALIGNHIGH)struct { char one; long two;} sixteen;#define ALIGN1(X) 1#pragma pack(ALIGN1(4))struct { char one; long two;} two;#define ALIGN2(X) X#pragma pack(ALIGN2(2))struct { char one; long two;} three;#define EMPTY#pragma pack(EMPTY)struct { char one; long two;} resetalign;main(){ if(sizeof(sixteen) < sizeof(defaultalign)) abort(); if(sizeof(two) >= sizeof(defaultalign)) abort(); if(sizeof(three) <= sizeof(two)) abort(); if(sizeof(resetalign) != sizeof(defaultalign)) abort(); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -