Microchip
直播中

张依然

7年用户 314经验值
私信 关注
[问答]

升级到1.45后得到不同的警告

升级到XC 1.45之后,我得到了一些(非常多)不同的警告。用于编译的代码,没有警告。默认级别被设置为默认-3.示例:一个警告在Microchip标准库中:C:Micro.xc8v1.45source.doprnt.c:541:warning:(373)隐式签名到无符号转换。N=~T0CONbits.TMR0ON;//warning:(373)隐式签名到无符号的.rsionorADCON0=(config&0xC0)|(config2&0b00010001);//config和config2声明为无符号的char;还有警告,如“warning:(1498)表达式中的指针(Gets@.)可能没有目标”,例如I:我是不是错过了什么,还是XC8做了一些平常的事情…在doprnt.c中的警告可能是最令人印象深刻的,因为该功能是用XC8提供的。我想知道是否有人遇到了相同的问题,或者只是我的设置。我不想用0的警戒值来驳斥他们(这就是我必须使用的)。

回帖(18)

王璨

2020-3-18 08:11:55
是啊!XC8已经成熟。最后,不要抱怨——我已经将警告设置为-9,并且能够在没有任何警告的情况下输出。在更新到1.45之前,我在1.32中遇到过许多奇怪的警告。结果(感谢1.45)我打开了,但没有结束评论。发出警告的行距实际错误“几光年”、“隐式有符号到无符号转换”来自于将常数赋给无符号(非后缀常量隐式认为是sugned)——或者来自于本质上扩展为有符号的操作(例如,乘法)。1.45字节,我很满意。
举报

吴键洪

2020-3-18 08:23:41
这样好些了吗?TMRON = TMR0ON!T0CONTITES.TMR0ON;//警告:(373)隐式符号到无符号转换
举报

李涛

2020-3-18 08:31:20
你如何调用GETS.未签名的Car X;GET(&;X);
举报

王璨

2020-3-18 08:39:48
因为它的扩张是众所周知的!对我来说是新的,但并非意外。添加适当的类型显示您知道您正在做什么。我不确定Gets()警告——可能是缓冲区可能初始化也可能未初始化的警告。这种警告有时很难消除,甚至不可能消除。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分