📄 991118-1.c
字号:
struct tmp{ long long int pad : 12; long long int field : 52;};struct tmp2{ long long int field : 52; long long int pad : 12;};struct tmp3{ long long int pad : 11; long long int field : 53;};struct tmp4{ long long int field : 53; long long int pad : 11;};struct tmpsub (struct tmp tmp){ tmp.field ^= 0x0008765412345678LL; return tmp;}struct tmp2sub2 (struct tmp2 tmp2){ tmp2.field ^= 0x0008765412345678LL; return tmp2;}struct tmp3sub3 (struct tmp3 tmp3){ tmp3.field ^= 0x0018765412345678LL; return tmp3;}struct tmp4sub4 (struct tmp4 tmp4){ tmp4.field ^= 0x0018765412345678LL; return tmp4;}struct tmp tmp = {0x123, 0x123456789ABCDLL};struct tmp2 tmp2 = {0x123456789ABCDLL, 0x123};struct tmp3 tmp3 = {0x123, 0x1FFFF00000000LL};struct tmp4 tmp4 = {0x1FFFF00000000LL, 0x123};main(){ if (sizeof (long long) != 8) exit (0); tmp = sub (tmp); tmp2 = sub2 (tmp2); if (tmp.pad != 0x123 || tmp.field != 0xFFF9551175BDFDB5LL) abort (); if (tmp2.pad != 0x123 || tmp2.field != 0xFFF9551175BDFDB5LL) abort (); tmp3 = sub3 (tmp3); tmp4 = sub4 (tmp4); if (tmp3.pad != 0x123 || tmp3.field != 0xFFF989AB12345678LL) abort (); if (tmp4.pad != 0x123 || tmp4.field != 0xFFF989AB12345678LL) abort (); exit (0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -