1

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

在此处输入图像描述

正如您在上图中所见,IDE 会在每个包含立即数的位操作时发出警告信号,即使它是正数也是如此。

摆脱这种烦恼的唯一方法是uint32_t将更烦人的直接值“类型转换”为。

是否有任何选项可以抑制这种警告Android Studio?我在我的代码中进行了大量的位操作,现在这让我很恼火。

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

4

2 回答 2

3

本来会评论你原来的帖子,但我没有代表。这不是错误警告,因为原始代码中的 3 实际上是有符号整数文字。在 C/C++ 中,所有整数字面量都是默认签名的。要创建无符号文字,您需要添加 U 后缀(例如3u3U)。无需使用演员表即可。

于 2019-02-23T07:30:26.017 回答
2

来自 Android Studio发行说明

C++ 的 Clang-Tidy 支持 - Android Studio 现在支持 Clang-Tidy 进行 C++ 静态代码分析。与 Android Studio 中当前对 Java 和 Kotlin 的 lint 支持类似,Clang-Tidy 帮助那些在其 Android 应用程序中使用 C++ 的用户识别常见的编码错误和错误。通过转到 Settings → Editor → Inspections (Preference → Editor → Inspections for MacOS) 启用检查。学到更多。

因此,您可以通过以下方式禁用它:

Preferences->Editor->Inspections->General->Clang-tidy

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

于 2019-01-25T09:30:49.953 回答