Android Studio 3.3(NDK)上的错误警告

时间:2019-01-25 09:02:55

标签: android android-studio intellij-idea android-ndk clang

在最新的3.3更新中,uint32_t似乎有一个非常烦人的错误,用C / C ++代码给出了错误的警告。

enter image description here

如上图所示,IDE会在每位操作包含立即数的情况下向其发出警告,即使该值是正数也是如此。

摆脱这种烦恼的唯一方法是将即时值“强制转换”到Android Studio上,这会更加烦人。

在{{1}}中是否可以禁止这种警告?我在代码中进行了大量的位操作,这现在让我很烦。

也可能是clang的错,假设任何即时值默认为带符号的值。是否有编译器选项可以更改它?

2 个答案:

答案 0 :(得分:1)

从Android Studio release notes

  

C ++的Clang-Tidy支持-Android Studio现在支持   Clang-Tidy,用于C ++静态代码分析。类似于当前的皮棉   在Android Studio中支持Java和Kotlin,Clang-Tidy可以帮助那些   在Android应用中使用C ++的用户会发现常见的编码错误,   错误。转到设置→编辑器→启用检查   检查(首选项→编辑器→MacOS的检查)。学习   更多。

因此您可以从以下位置禁用它:

  

首选项->编辑器->检查->常规->整洁

奖金: 如果要从以下选项中选择,可以找到Clang-Tidy选项的列表: http://clang.llvm.org/extra/clang-tidy/#using-clang-tidy

答案 1 :(得分:1)

将对您的原始帖子发表评论,但我没有代表。这并不是一个错误的警告,因为原始代码中的3实际上是一个带符号的整数文字。默认情况下,所有整数文字均在C / C ++中签名。要创建无符号文字,您需要添加U后缀(例如3u3U)。无需使用强制转换。