IAR编译器问题的总结

之前做项目都是用keil编译器比较多,也基本上用得很顺手,但是最近又开始用IAR编译器,结果这次真是被它折磨得快要崩溃,现在把问题总结如下:(IAR编译器版本:IAR2.10.4)

  1. IAR编译器默认的优化设置一定要注意!这个是之前做的一个项目,也是印象深刻,编译之后在线单步调试时,程序完全不按照正常流程执行,一度还以为时仿真器出了问题。最后才发现原来IAR编译器默认优化选择是中;

  2. IAR编译器的memcpy()函数调用的问题!这个是今天调程序发现的,本来想用内存复制的方式将一个浮点数复制到uchar型数组中,编译完全正确,也没有报错或者是警告,结果运行起来就跑飞了,CAN通信无法正常工作,最后是用联合体的方法实现的;

  3. IAR编译器的强制类型转换!真的搞不清楚IAR的强制转换规则?感觉真的是有点莫名其妙。例子如下:
    int a;
    int b;
    int c;
    u8 d;
    u8 e[4];
    d= a+b; 不报错,但是跑飞
    d=(u8)(a+b);不报错,但是跑飞
    e[0] = a+b; 不报错,运行正常
    c = a+b;
    e[0] = c; 不报错,运行正常

  4. IAR编译器在线调试时,明明定义的int型变量,为什么在watch中却显示的是浮点值!我确定只定义了一个int型!WHY!

  5. IAR的函数仅定义未

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值