函数执行前有准备工作,要将实参、局部变量、返回地址以及寄存器存入栈中,然后执行函数体的代码;执行完函数体的代码后,要清理现场,把栈中的数据出栈,然后再执行该函数后面位置的代码。
上述中压栈、出栈是消耗时间和空间的,当然了,执行函数体的代码也是要时间的。
如果函数体代码执行时间短,那么调用函数时,压栈、出栈的比重就会上升,建议将函数定义为内联函数,那么这个函数的源码会在编译阶段就嵌入该位置,而不用去调用函数,执行压栈、出栈操作了。
类似于宏定义的展开。
A.关键字 inline 只是一种编译器建议
B.内联函数可以避免栈开销,inline函数直接把函数体代码嵌入到该函数位置
C.内联函数在编译时就生效了



