20071219-1.c
来自「用于进行gcc测试」· C语言 代码 · 共 72 行
C
72 行
/* PR c++/34459 */extern void abort (void);extern void *memset (void *s, int c, __SIZE_TYPE__ n);struct S{ char s[25];};struct S *p;void __attribute__((noinline))foo (struct S *x, int set){ int i; for (i = 0; i < sizeof (x->s); ++i) if (x->s[i] != 0) abort (); else if (set) x->s[i] = set; p = x;}void __attribute__((noinline))test1 (void){ struct S a; memset (&a.s, '\0', sizeof (a.s)); foo (&a, 0); struct S b = a; foo (&b, 1); b = a; b = b; foo (&b, 0);}void __attribute__((noinline))test2 (void){ struct S a; memset (&a.s, '\0', sizeof (a.s)); foo (&a, 0); struct S b = a; foo (&b, 1); b = a; b = *p; foo (&b, 0);}void __attribute__((noinline))test3 (void){ struct S a; memset (&a.s, '\0', sizeof (a.s)); foo (&a, 0); struct S b = a; foo (&b, 1); *p = a; *p = b; foo (&b, 0);}intmain (void){ test1 (); test2 (); test3 (); return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?