免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 22463 | 回复: 9

static inline 函数有什么用 ? [复制链接]

论坛徽章:
0
发表于 2010-08-06 15:05 |显示全部楼层
这种函数有什么用 ?
static inline void __module_get(struct module *module)
{
}

static inline int try_module_get(struct module *module)
{
        return 1;
}

static inline void module_put(struct module *module)
{
}

论坛徽章:
0
发表于 2010-08-06 15:18 |显示全部楼层
{:3_186:}{:2_169:}

论坛徽章:
0
发表于 2010-08-06 15:20 |显示全部楼层
充数用的呗

有些地方不支持,有些地方支持~
不支持的地方,就弄几个空的玩意充数

论坛徽章:
0
发表于 2010-08-06 15:36 |显示全部楼层
Thank you

论坛徽章:
9
辰龙
日期:2014-08-18 20:38:42未羊
日期:2014-09-04 08:50:45丑牛
日期:2014-09-06 00:12:55寅虎
日期:2014-12-22 20:50:56摩羯座
日期:2015-01-14 22:28:15巳蛇
日期:2015-01-23 20:39:272015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之青岛
日期:2016-03-13 23:37:1915-16赛季CBA联赛之深圳
日期:2016-03-29 18:52:38
发表于 2010-08-06 18:59 |显示全部楼层
不是你想了解的是什么,你是说static inline 这类函数呢,不是想了解你在正文中那三个空函数。

如果是后者,当前,充数(戏说活);令到你的程序有更为统一的接口(专业点的说法)

如果是前者:
static inline 是静态的:因为这些函数其实统一接口,大家都需要实现这个接口,如果不用static,那就很有可能重名。编译就会出错了。
static inline 是内联的:小函数,而是调用的很频繁,用内联会提升很多效率!

论坛徽章:
0
发表于 2010-08-07 13:09 |显示全部楼层
inline 最好是放到头文件里面,并且加上static。

论坛徽章:
0
发表于 2011-01-11 22:39 |显示全部楼层
回复 6# kgn28


    请问  在c 中, 一个函数定义为static  inline  , 假如该函数定义在test.h 中,在另外一个.c (example.c)文件中包涵了test.h  ,请问在example.c可以调用该函数吗?

   我在很多地方都看到可以调用,但是到网上搜有都说 static 是local的。  疑惑!!!

论坛徽章:
22
丑牛
日期:2014-08-15 14:32:0015-16赛季CBA联赛之同曦
日期:2017-12-14 15:28:14黑曼巴
日期:2017-08-10 08:14:342017金鸡报晓
日期:2017-02-08 10:39:42黑曼巴
日期:2016-11-15 15:48:38CU十四周年纪念徽章
日期:2016-11-09 13:19:1015-16赛季CBA联赛之同曦
日期:2016-04-08 18:00:03平安夜徽章
日期:2015-12-26 00:06:30程序设计版块每日发帖之星
日期:2015-12-03 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-09 06:20:002015亚冠之吉达阿赫利
日期:2015-07-03 08:39:42
发表于 2011-01-12 09:01 |显示全部楼层
包含了肯定能用啊。static指在这个c文件声明,在另一个c文件就不能通过extern void fn();的方法调用~

论坛徽章:
0
发表于 2011-01-12 09:29 |显示全部楼层
static 在函数前指链接属性,此函数只在本文件中使用。
inline 空间换时间,执行的更快。

论坛徽章:
0
发表于 2011-01-12 10:03 |显示全部楼层
我是这样理解的。 在.h  文件中定义了 static  inline  函数 , 当.c 文件包含(#include)这个 .h 文件后,  在.h 文件中定义的static  inline 函数  也就相当于在 .c 中定义的static inline 函数, 因为.h已经被.c 文件包含了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP