内联函数
内联函数与普通函数的区别
inline函数:在编译过程中,就没有函数的调用开销了,在函数的调用点直接把函数的代码进行展开处理,符号表中也不产生内联函数符号。
- 函数的调用开销是什么:参数压栈,栈帧开辟,栈帧回退。
- inline只是建议,不是所有inline被编译器处理为内联函数,比如递归,编译器无法确定递归要执行多少次。大量出现的简单代码时候作为内联。
- debug版本下,inline不起作用,因为会导致无法调试。inline只在release版本下起作用。
inline函数:在编译过程中,就没有函数的调用开销了,在函数的调用点直接把函数的代码进行展开处理,符号表中也不产生内联函数符号。