http://gcc.gnu.org/onlinedocs/gcc-4.4.2/gcc/Inline.html#Inline
1 gnu实现使用内联提升性能的两种方式:
1.1 将内联函数代码集成到调用函数代码中,从而节省函数调用过程带来的开销;
1.2 如果内联函数有参数的实际参数值为常量,则可以在编译时简化代码????????
2 gnu实现内联函数时的三种不同语义:
2.1 -std=gnu89, -fgnu89-inline, gnu_inline;
2.2 -std=gnu99, -std=c99;
2.3 编译c++时使用。
3 使用inline函数的两种类似情况,在这两种情况中,该函数在上面2中的三种语义条件下都有类似的行为:
(1)static函数中使用inline关键字,如:
static inline int inc(int *a) { (*a)++; }
(2)声明时未使用inline关键字,定义时使用该关键字,如:
extern int inc(int *a);
inline int inc(int *a) { (*a)++; }
这时,当调用该内联函数的调用都能够将内联函数集成到调用函数中时&#x