ARM 编译器 armcc 支持的函数关键字和运算符。
ARM 编译器支持的关键字扩展表:
关键字 | ||
---|---|---|
__align |
__int64 |
__svc |
__ALIGNOF__ |
__INTADDR__ |
__svc_indirect |
__asm |
__irq |
__svc_indirect_r7 |
__declspec |
__packed |
__value_in_regs |
__forceinline |
__pure |
__weak |
__global_reg |
__softfp |
__writeonly |
__inline |
__smc |
通过使用 __irq 关键字,可以将 C 或 C++ 函数用作中断例程。
__irq 是一个函数限定符。 它影响函数的类型。
限制:
armcc的编译器的C对ANSI C的关键字做了些扩展。
比如__irq 是用来声明IRQ和FIQ中断处理函数用的,可以自动返回原来的现场。__asm用来嵌入汇编代码等。
__irq为一个标识,用来表示一个函数是否为中断函数。对于不同的编译器,__irq在函数名中的位置不一样,例如:
ADS编译器中 : void __irq IRQ_Eint0(void);
Keil编译器中 : void IRQ_Eint0(void) __irq;
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |