飞思卡尔i.mx6交叉编译工具链BUG

在使用i.mx6平台进行项目开发时,遇到了char类型默认为unsigned char的问题,导致函数返回值-2被误解释为254,通过添加signed关键字解决了该问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在用飞思卡尔的i.mx6平台做一个项目,编写完代码在i.mx6上测试的时候发现有一个函数的返回值判断一直不正确,

我一个函数的返回值类型为 "char" 错误返回值是 ‘-2’,并且用其返回值与 ‘0’值比大小来进入不同处理分支,但是测试的

时候发现,程序始终无法进入错误分支,最后经反复测试才找到问题,因为返回‘-2’的时候系统把他当做254来处理了。

后来我在char前边加一个signed修饰,就能正确返回‘-2’了。

就是说i.mx6的编译工具把 ‘char’型默认为‘unsigned char’,和其他编译器默认为‘signed char’不一致。

这也算是一个不大不小的bug吧,记录一下以防再出错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值