弱弱的问一下 static inline 有什么作用?

one's pygmy effort one's pygmy effort 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
弱弱的问一下 static inline 有什么作用?
1.
uboot的arch\arm\include\asm\arch下的s3c2400.h中:
static inline struct s3c24x0_clock_power *s3c24x0_get_base_clock_power(void)
{
return (struct s3c24x0_clock_power *)S3C24X0_CLOCK_POWER_BASE;
}
......
中的 static inline 有什么作用呢?

2.
在.h 文件中定义了 static inline 函数 , 当.c 文件包含(#include)这个 .h 文件后, 在.h 文件中定义的static inline 函数 也就相当于在 .c 中定义的static inline 函数, 因为.h已经被.c 文件包含了
那uboot的arch\arm\cpu\arm920t\s3c24x0下的speed.c 中
#include <common.h>
#ifdef CONFIG_S3C24X0

#include <asm/io.h>
#include <asm/arch/s3c24x0_cpu.h>

#define MPLL 0
#define UPLL 1
哪一个是包含 arch\arm\include\asm\arch 下的 s3c2400.h 中 static inline 的头文件呢? 还是其它的原因呢??

3.
static inline 是静态的:因为这些函数其实统一接口,大家都需要实现这个接口,如果不用static,那就很有可能重名。编译就会出错了。 这里的接口 指什么呢?? 可以截图看么??
static inline 是内联的:小函数,而是调用的很频繁,用内联会提升很多效率! 那在1. 中可以不指定 XX是内联函数么 ??




本人小白,若有用词不当的地方还请指正,高手勿喷。谢谢!!
...全文

相关推荐

评论 9
收藏 已收藏
分享
返回顶部