关于头文件中的 static inline函数
来源:互联网 发布:plc编程月薪 编辑:程序博客网 时间:2024/05/14 03:02
内联函数有些类似于宏。内联函数的代码会被直接嵌入在它被调用的地方,调用几次就嵌入几次,没有使用call指令。这样省去了函数调用时的一些额外开销,比如保存和恢复函数返回地址等,可以加快速度。不过调用次数多的话,会使可执行文件变大,这样会降低速度。相比起宏来说,内核开发者一般更喜欢使用内联函数。因为内联函数没有长度限制,格式限制。编译器还可以检查函数调用方式,以防止其被误用。
static inline的内联函数,一般情况下不会产生函数本身的代码,而是全部被嵌入在被调用的地方。如果不加static,则表示该函数有可能会被其他编译单元所调用,所以一定会产生函数本身的代码。所以加了static,一般可令可执行文件变小。内核里一般见不到只用inline的情况,而都是使用static inline。
static inline的内联函数,一般情况下不会产生函数本身的代码,而是全部被嵌入在被调用的地方。如果不加static,则表示该函数有可能会被其他编译单元所调用,所以一定会产生函数本身的代码。所以加了static,一般可令可执行文件变小。内核里一般见不到只用inline的情况,而都是使用static inline。
inline
关键字inline表明要优化函数的可执行代码,这可以通过将函数的代码合并到调用程序的代码中来实现。Linux内核使用的inline函数大多被定义为static 类型。一个"static inline"函数促使编译程序尝试着将其代码插入到所有调用它的程序中。
这一合并能够免除函数调用的任何开销,#define语句也可以排除额外的函数调用。
另外,使用inline会增加二进制映像的大小,而这会降低访问CPU高速缓存的速度,所以不能在所有的函数定义中使用它。
1 0
- 关于头文件中的 static inline函数
- 关于头文件中的 static inline函数
- 关于头文件中的 static inline函数
- 关于头文件中的 static inline函数
- 头文件中的static inline函数
- 头文件中的static inline
- 头文件中的inline 函数
- inline函数定义放在头文件中的作用
- 关于c++中的inline函数
- static inline内联函数
- static inline内联函数
- static inline内联函数
- static inline内联函数
- static inline内联函数
- static inline内联函数
- 内核中的static inline
- 内核中的static inline
- 头文件,实现文件,inline函数,外部存储类型extern
- .NET安装失败的解决方法之一
- docker dockerfile构建tomcat应用
- Python 异步随笔
- HFun.快速开发平台(一)=》简述
- Linux下epoll的使用
- 关于头文件中的 static inline函数
- echarts入门新手必看
- js拼接字符串和转义字符的使用
- SpringBoot --集成HBASE/基于SpringDataHadoop
- mongodb数据库安全设置
- iOS无埋点数据SDK实践之路
- 安居客Android项目架构演进
- python3 -- 列表操作 -深拷贝、浅拷贝、遍历
- $arr['key'] 与 $arr["key"] 与 $arr[key]的差别: