IAR中常用的 #pragma 命令和扩展关键字

pragma 命令

1、#pragma message(“ ”)
编译器编译到此处,在Build窗口中打印相应文本信息。

2、#pragma error “”
编译器编译到此处,在Build窗口中产生错误并打印其文本信息。

3、#pragma inline [=forced | never]
用这个指令是建议编译将这条指令后面的函数内联到调用它的函数的函数体中去。
当#pragma inline = forced,则强制让编译器对函数内联,如果内联不成功,会发出警告消息。

4、#pragma location = {address | register | NAME}
该指令用处

  1. 定位该指令之后的全局或静态变量到指定的absolute address上。其中变量必须定义为__no_init。
    pragma location = address 等价于 @ address,其中变量也必须定义为__no_init 。
    示例:
    __no_init volatile char alpha @ 0xFF2000
    运用绝对地址定位,还需注意地址的对齐问题。

  2. 定位该指令之后的变量到指定寄存器中,其中该变量必须声明为__no_init,同时该变量的作用域为整个文件。
    ===========register(寄存器R4-R11)
    pragma location = register 等价于 @ register࿰

  • 3
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值