打印

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

[复制链接]
1455|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 | 只看该作者
会快

使用特权

评论回复
5
amwrdfe| | 2013-3-23 11:33 | 只看该作者
内联函数和#define一样,是直接展开的,不存在函数调用开销.所以快.
但是要注意的是,内联函数中不能有判断或循环的语句.

使用特权

评论回复
6
一般首席| | 2013-3-23 11:58 | 只看该作者
谢谢amwrdfe 学习了

使用特权

评论回复
7
refee| | 2013-3-23 19:22 | 只看该作者
amwrdfe 发表于 2013-3-23 11:33
内联函数和#define一样,是直接展开的,不存在函数调用开销.所以快.
但是要注意的是,内联函数中不能有判断或 ...

如果多次用的话 缺点是size变大了 :lol

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

39

主题

88

帖子

0

粉丝