i386-asm-4.c
来自「Mac OS X 10.4.9 for x86 Source Code gcc」· C语言 代码 · 共 40 行
C
40 行
/* Test if functions marked __attribute__((used)), but with address never taken in C code, don't use alternate calling convention for local functions on IA-32. *//* { dg-do run { target i?86-*-* x86_64-*-* } } *//* { dg-options "-O2" } */extern void abort (void);static int foo (int, int, int, int) __asm ("foo");static __attribute__((noinline, used)) intfoo (int i, int j, int k, int l){ return i + j + k + l;}voidbar (void){ if (foo (1, 2, 3, 4) != 10) abort ();}int (*fn) (int, int, int, int);voidbaz (void){ __asm ("movl $foo, %k0" : "=r" (fn)); if (fn (2, 3, 4, 5) != 14) abort ();}intmain (void){ bar (); baz (); return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?