Android Studio 3.3 (NDK) 上的错误警告
False warnings on Android Studio 3.3 (NDK)
在最近的 3.3 更新中,Android Studio
似乎有一个非常烦人的错误,它会在 C/C++ 代码中给出错误警告。
如您在上图中所见,IDE 对包含立即数的每个位操作发出警告,即使它是正数也是如此。
摆脱这种烦恼的唯一方法是 "typecast" 立即值 uint32_t
这会更烦人。
在 Android Studio
中是否有任何选项可以抑制此类警告?我在我的代码中做了很多位操作,这让我现在很烦。
或者这可能是 clang 的错,默认情况下假设任何立即值都是有符号的。是否有编译器选项可以更改它?
来自 Android 工作室 release notes:
Clang-Tidy Support for C++ - Android Studio now has support for
Clang-Tidy for C++ static code analysis. Similar to the current lint
support for Java and Kotlin in Android Studio, Clang-Tidy helps those
who have C++ in their Android app identify common coding errors and
bugs. Enable the inspection by going to Settings → Editor →
Inspections (Preference → Editor → Inspections for MacOS) . Learn
more.
因此您可以从以下位置禁用它:
Preferences->Editor->Inspections->General->Clang-tidy
奖金:
如果您想从以下选项中进行选择,您可以找到 Clang-Tidy 选项列表:
http://clang.llvm.org/extra/clang-tidy/#using-clang-tidy
本来可以评论您的原作 post,但我没有代表。这不是错误警告,因为原始代码中的 3 实际上是带符号的整数文字。在 C/C++ 中,所有整数文字都默认签名。要创建无符号文字,您需要添加一个 U 后缀(例如 3u
或 3U
)。无需使用强制转换即可。
在最近的 3.3 更新中,Android Studio
似乎有一个非常烦人的错误,它会在 C/C++ 代码中给出错误警告。
如您在上图中所见,IDE 对包含立即数的每个位操作发出警告,即使它是正数也是如此。
摆脱这种烦恼的唯一方法是 "typecast" 立即值 uint32_t
这会更烦人。
在 Android Studio
中是否有任何选项可以抑制此类警告?我在我的代码中做了很多位操作,这让我现在很烦。
或者这可能是 clang 的错,默认情况下假设任何立即值都是有符号的。是否有编译器选项可以更改它?
来自 Android 工作室 release notes:
Clang-Tidy Support for C++ - Android Studio now has support for Clang-Tidy for C++ static code analysis. Similar to the current lint support for Java and Kotlin in Android Studio, Clang-Tidy helps those who have C++ in their Android app identify common coding errors and bugs. Enable the inspection by going to Settings → Editor → Inspections (Preference → Editor → Inspections for MacOS) . Learn more.
因此您可以从以下位置禁用它:
Preferences->Editor->Inspections->General->Clang-tidy
奖金: 如果您想从以下选项中进行选择,您可以找到 Clang-Tidy 选项列表: http://clang.llvm.org/extra/clang-tidy/#using-clang-tidy
本来可以评论您的原作 post,但我没有代表。这不是错误警告,因为原始代码中的 3 实际上是带符号的整数文字。在 C/C++ 中,所有整数文字都默认签名。要创建无符号文字,您需要添加一个 U 后缀(例如 3u
或 3U
)。无需使用强制转换即可。