求助:请帮解释下面函数的意思(c语言,没看懂)

[复制链接]
1858|6
 楼主| yanse51 发表于 2013-3-23 09:22 | 显示全部楼层 |阅读模式
如下:这个函数式是表达什么意思啊?
static __inline  void CLI(void)
{
//;msr primask, 1
//;CPSID I  ;//PRIMASK=1, 关中断
//;bx lr
register uint32 __regPriMask     __asm("primask");
__regPriMask = (1);
}
ayb_ice 发表于 2013-3-23 10:03 | 显示全部楼层
这是ARM的关中断

内嵌函数
 楼主| yanse51 发表于 2013-3-23 10:49 | 显示全部楼层
ayb_ice 发表于 2013-3-23 10:03
这是ARM的关中断

内嵌函数

用这样关,是不是比那种"disable" 的库函数要快? STM32中
ayb_ice 发表于 2013-3-23 10:50 | 显示全部楼层
amwrdfe 发表于 2013-3-23 11:33 | 显示全部楼层
内联函数和#define一样,是直接展开的,不存在函数调用开销.所以快.
但是要注意的是,内联函数中不能有判断或循环的语句.
一般首席 发表于 2013-3-23 11:58 | 显示全部楼层
谢谢amwrdfe 学习了
refee 发表于 2013-3-23 19:22 | 显示全部楼层
amwrdfe 发表于 2013-3-23 11:33
内联函数和#define一样,是直接展开的,不存在函数调用开销.所以快.
但是要注意的是,内联函数中不能有判断或 ...

如果多次用的话 缺点是size变大了 :lol
您需要登录后才可以回帖 登录 | 注册

本版积分规则

39

主题

88

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部