對於inline函式,如果gcc的優化選項未開啟的話(我們core中的優化選項是o0,等價於未開啟),inline函式實際上是不生效的。
未開啟gcc優化的情況下,如果要使用inline函式,可以使用__attribute__ ((always_inline))屬性。
static inline void test_inline()
static __attribute__ ((always_inline)) void test_inline_attr()
arm-hisiv200-linux-gcc -s -o0 inline.c
編譯出來的彙編,test_inline未內聯,test_inline_attr內聯了
arm-hisiv200-linux-gcc -s -o1 inline.c
編譯出來的彙編,test_inline和test_inline_attr均內聯了
gcc 內聯函式編譯報錯
一段很簡單的 使用了內聯函式,編譯竟然報錯。在這裡記一下加深記憶。include include inline int sum int a,int b int main int argc,char ar 編譯結果 gcc test.c d msys64 tmp cc49osy4.o test.c t...
隱式內聯函式和顯式內聯函式
讓乙個函式成為內聯函式,隱式的為在類裡定義函式,顯式的則是在函式前加上inline關鍵字說明。inline1.cpp c primary created by amesty on 16 5 11.include include 顯式內聯 include using namespace std cla...
內聯函式和巨集
1.內聯函式 在c 中我們通常定義以下函式來求兩個整數的最大值 複製 如下 int max int a,int b 為這麼乙個小的操作定義乙個函式的好處有 閱讀和理解函式 max 的呼叫,要比讀一條等價的條件表示式並解釋它的含義要容易得多 如果需要做任何修改,修改函式要比找出並修改每一處等價表示式容...