查看: 1852|回复: 2

[CodeWarrior] CW5.1编译时出现警告

[复制链接]

该用户从未签到

10

主题

358

帖子

0

高级会员

Rank: 4

积分
924
最后登录
1970-1-1
发表于 2016-5-25 16:54:26 | 显示全部楼层 |阅读模式
本帖最后由 fengyangsky 于 2016-5-26 20:23 编辑

大家好!编译器CW5.1,芯片MC9SXET256

UINT32 ErrorCodeValue;
UINT08 DebugBuf[25];
ErrorCodeValue =  ((UINT32)DebugBuf[22] << 24)               
                       + ((UINT32)DebugBuf[21] << 16)
                       + ((UINT32)DebugBuf[20] << 8)                                                        
                       + (UINT32)DebugBuf[19];

编译的时候出现警告:
[url=]C12056: SP debug info incorrect because of optimization or inline assembler[/url]
用CW6.3和CW10.3编译都没有问题。
下面这样写就不会出现警告:
ErrorCodeValue =  (((UINT32)DebugBuf[22] << 24) & 0xff000000)                        
                        + (((UINT32)DebugBuf[21] << 16) & 0x00ff0000)
                        + (((UINT32)DebugBuf[20] << 8) & 0x0000ff00)                                                        
                        + ((UINT32)DebugBuf[19] & 0x000000ff);
这是什么原因导致的?搞不明白





我知道答案 目前已有2人回答
回复

使用道具 举报

该用户从未签到

10

主题

358

帖子

0

高级会员

Rank: 4

积分
924
最后登录
1970-1-1
 楼主| 发表于 2016-5-25 18:33:12 | 显示全部楼层
降低优化等级可以将警告消除,但比较好奇的是这么常规的用法也会被优化?原理是什么呢?
回复 支持 反对

使用道具 举报

该用户从未签到

10

主题

358

帖子

0

高级会员

Rank: 4

积分
924
最后登录
1970-1-1
 楼主| 发表于 2016-6-3 12:49:58 | 显示全部楼层
自己顶一下,别沉了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-22 12:13 , Processed in 0.086125 second(s), 23 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表