内联函数
1.编译期间扩展到调用处,
2没有入栈,跳转,返回的开销
3是个请求,可能不成功
4好处,参数和返回值得检查,取代宏代码块,高效
强制内联的使用方法
#include <stdio.h>
__forceinline //visul studio
//__attribute__((always_inline)) //ecliplse
inline
int add_inline(int n);
int main(int argc, char *argv[])
{
int r = add_inline(10);
printf(" r = %d\n", r);
return 0;
}
inline int add_inline(int n)
{
int ret = 0;
for(int i=0; i<n; i++)
{
ret += i;
}
return ret;
}