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.raoushi.com/bbs/) | Powered by Discuz! X3.1 |