C中为什么要用内联函数

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/26 03:21:42
C中为什么要用内联函数C中为什么要用内联函数C中为什么要用内联函数inline这个名称可以反映出它的工作方式,函数会在它所调用的位置上展开.这么做可以消除函数调用和返回所带来的开销(寄存器存储和恢复)

C中为什么要用内联函数
C中为什么要用内联函数

C中为什么要用内联函数
inline 这个名称可以反映出它的工作方式,函数会在它所调用的位置上展开.这么做可以消除函数调用和返回所带来的开销(寄存器存储和恢复),而且,编译器会把调用函数的代码和函数本身放在一起进行优化,所以有进一步优化代码的可能.不过这么做是有代价的,代码会变长,这也就意味着占用更多的内存空间或者占用更多的指令缓存.内核开发者通常把那些对时间要求比较高,而本身长度又比较短的函数定义成内联函数.内联函数必须在使用之前就定义好,否则编译器就没法把这个函数展开,实践中一般在头文件中定义内联函数.