GCC中关于asm的语法
- GCC中关于asm的语法
标准C语言(用-ansi或-std去编译):用__asm__GNU扩展(GNU extension):用asm
背景:
当用标准C(-ansi或-std),会禁用掉部分关键字:
asmtypeofinline- 特例:当
-std=c99或更新版本,可以用inline
- 特例:当
restrict- 只有当
-std=gnu99或-std=c99(等价的-std=iso9899:1999)的或更新版 时,才能用restrict
- 只有当
-》想要用上述关键字的话,解决办法是:
在前面和后面分别加上2个下划线
-》对于asm,可以自己加上对应定义:
#ifndef __GNUC__
#define __asm__ asm
#endif