📄 20000223-1.c
字号:
/* Copyright (C) 2000 Free Software Foundation, Inc. Contributed by Nathan Sidwell 23 Feb 2000 <nathan@codesourcery.com> *//* __alignof__ should never return a non-power of 2 eg, sizeof(long double) might be 12, but that means it must be alignable on a 4 byte boundary. */void check (char const *type, int align){ if ((align & -align) != align) { abort (); }}#define QUOTE_(s) #s#define QUOTE(s) QUOTE_(s)#define check(t) check(QUOTE(t), __alignof__(t))// This struct should have an alignment of the lcm of all the types. If one of// the base alignments is not a power of two, then A cannot be power of two// aligned.struct A{ char c; signed short ss; unsigned short us; signed int si; unsigned int ui; signed long sl; unsigned long ul; signed long long sll; unsigned long long ull; float f; double d; long double ld; void *dp; void (*fp)();};int main (){ check (void); check (char); check (signed short); check (unsigned short); check (signed int); check (unsigned int); check (signed long); check (unsigned long); check (signed long long); check (unsigned long long); check (float); check (double); check (long double); check (void *); check (void (*)()); check (struct A); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -