4内联函数

发布时间 2024-01-11 23:11:10作者: 二氧化硅21

内联函数

内联函数与普通函数的区别

inline函数:在编译过程中,就没有函数的调用开销了,在函数的调用点直接把函数的代码进行展开处理,符号表中也不产生内联函数符号。

  • 函数的调用开销是什么:参数压栈,栈帧开辟,栈帧回退。
  • inline只是建议,不是所有inline被编译器处理为内联函数,比如递归,编译器无法确定递归要执行多少次。大量出现的简单代码时候作为内联。
  • debug版本下,inline不起作用,因为会导致无法调试。inline只在release版本下起作用。