我已经阅读了关于可疑截断的这个 Lint 警告的相关问题,但这里是一个纯粹的 C 案例。
以下行是Warning #647
弹出的位置:
pCont->sig -= (signed int64_t)((sub2 << 8)/pCont->freq + 1);
wherepCont->sig
也是 64 位有符号(类型signed int64_t
),并且两者sub2
都是freq
32 位无符号。所有这些都是用armcc编译的。
已经尝试将其1
转换为无符号 32 位,但没有成功,但问题仍然存在。
关于我可以尝试什么或这里出了什么问题的任何想法?