有什么方法可以让海湾合作委员会或叮当声警告明确的演员阵容吗?[英] Is there any way to get gcc or clang to warn on explicit casts?

本文是小编为大家收集整理的关于有什么方法可以让海湾合作委员会或叮当声警告明确的演员阵容吗?的处理方法,想解了有什么方法可以让海湾合作委员会或叮当声警告明确的演员阵容吗?的问题怎么解决?有什么方法可以让海湾合作委员会或叮当声警告明确的演员阵容吗?问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我要做的是找到从我拥有的某些源文件中的任何其他类型的式铸件.有内置的海湾合作委员会方法可以做到吗? 语言是C. 谢谢!

推荐答案

由于演员是明确合法的,并且执行奇怪的转换的正确方法,因此GCC极不可能包含一个警告

的选项.

相反,根据您的来源的巨大,您可能可以摆脱:

grep '\(double|float\) ' *

为您提供所有双重或浮点变量.由于C不是一种普通语言,因此(使用Shell工具)将其解析为双重或浮动变量列表并不是微不足道的,但是如果您的源足够小,则可以轻松执行此操作.

grep '([^()]*)[ ()]*\(your list of variable names\)' *

从那里向您展示许多演员.

其他推荐答案

如果您的C代码也可以以C ++模式进行编译,则可以使用G ++的S -Wold-style-cast警告标志触发所有此类铸件的警告.

您可以通过使用其-Weverything switch来确定clang是否有任何警告,这些警告会触发特定的编码模式(但请注意,这几乎对任何其他目的都不是有用的 - clang已禁用违约警告,触发各种形式的合法代码).但是,在这种情况下,clang没有任何警告在此类演员上触发.

其他推荐答案

-Wconversion警告可能会改变值的隐式转换(double是大型类型),并且-Wno-sign-conversion禁用有关签名和未签名整数之间转换的警告(因此会有较少的不必要警告).否则我看不到任何标准替代方案...

最坏的情况您可以直接在源文件中查找这些关键字...

本文地址:https://www.itbaoku.cn/post/359338.html