-
__attribute__((always_inline))
的意思是強制內(nèi)聯(lián)隔心,所有加了__attribute__((always_inline))
的函數(shù)再被調(diào)用時不會被編譯成函數(shù)調(diào)用而是直接擴展到調(diào)用函數(shù)體內(nèi),比如定義了函數(shù)
__attribute__((always_inline)) void a()
和
void b(){
a();
}
b 調(diào)用 a 函數(shù)的匯編代碼不會是跳轉(zhuǎn)到a執(zhí)行键耕,而是 a 函數(shù)的代碼直接在 b 內(nèi)成為 b 的一部分臼节。
#define __inline __attribute__((always_inline))
的意思就是用
__inline
代替__attribute__((always_inline))
內(nèi)聲明a的時候可以直接寫成__inline void a()
這樣比較方便因為__attribute__((always_inline))
字多虽风。