当前位置:   article > 正文

C语言中的static inline_c语言static inline

c语言static inline

内联函数有些类似于宏。内联函数的代码会被直接嵌入在它被调用的地方,调用几次就嵌入几次,不使用Call指令,如此省去了函数调用时的额外开销,如保存和恢复函数返回地址等,可以加快速度。不过如果调用次数过多,会使执行文件变大,降低速度。

相比于宏,内核开发者一般更喜欢使用内联函数,因为内联函数没有长度限制、格式限制。编译器还可以检查函数调用方式,防止误用。

static inline的内联函数,一般情况不会产生函数本身的代码,而是全部被嵌入到被调用的地方。如果不使用static,则表示该函数有可能会被其他编译单元所调用,所以一定会产生函数本身的代码。加上static,可以使执行文件变小。在内核中,一般见不到只用inline的情况,都是使用static inline 。

缺点:使用inline会增加二进制映像的大小,而降低范文CPU告诉缓存的速度,因此,不能在所有的函数定义中使用它。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/626860
推荐阅读
  

闽ICP备14008679号