硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3302|回复: 3
收起左侧

[IAR] IAR很喜欢报警告:Warning[Pa182]: bitwise operation drops significant bits from a constant

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106978
QQ
发表于 2020-7-15 15:11:29 | 显示全部楼层 |阅读模式

之前编译ARM DSP就出过一次,这个编译ThreadX GUIX也来了一个:

QQ截图20200715151128.jpg


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106978
QQ
 楼主| 发表于 2020-7-15 15:11:59 | 显示全部楼层
IAR8.X有个这种警告Warning[Pa182]: bitwise operation drops significant bits from a cons
http://www.armbbs.cn/forum.php?m ... 5049&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

335

主题

2037

回帖

3047

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3047
发表于 2020-7-16 10:12:37 | 显示全部楼层
本帖最后由 caicaptain2 于 2020-7-16 10:16 编辑

这个是编译器的常规做法。 任何有符号的变量进行“位”操作的时候,比如‘与’‘或’‘‘取反’移位’等操作,都会把这个变量当作无符号的变量处理。
他在这里主要是提醒,作者用了有符号的变量,参与了位的操作。

所以,一般为了程序扩展或者兼容,即使不可能出现负值,很多人也默认都是用有符号的变量。  但是,严谨的风格下这是不对的。 变量从一开始定义,就应该限制它的范围和符号的。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106978
QQ
 楼主| 发表于 2020-7-16 18:13:50 | 显示全部楼层
caicaptain2 发表于 2020-7-16 10:12
这个是编译器的常规做法。 任何有符号的变量进行“位”操作的时候,比如‘与’‘或’‘‘取反’移位’等操 ...

有道理。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-13 04:39 , Processed in 0.161647 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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