我刚刚阅读了这篇文章,了解新的原因存在线路警告,但说实话,我的团队有人在几个不同的平台上工作,并且有几个不同的编辑(每个人都使用最好的套件),所以警告已经无处不在,因为它不是一个值得关注它的警告。变得吵闹,让发现严重警告变得麻烦。

很多时候重要的警告都没有引起注意,因为人们已经习惯了无数的无用警告经过,所以他们显然只是停下来仔细观察它们,并且有理由恕我直言。有人可以说,在我们的案例中,海湾合作委员会正在哭泣狼太多,任何人都不再认真对待它,这是一种恶劣的态度,但它只是人性。

现在我们使用 -Wall 进行编译,因为我们需要警告,但是有一个计数器标志来避免换行警告吗?

注意:我看了一下手册,但在任何明显的地方找不到答案,所以我放弃了。

注意:为了回应Robert Gamble完全合理的解决方案,我们的代码是跨平台的,我们有人,并且在Linux,Solaris和Windows上构建,所以新行......不是达成共识。有人的编译器总是会哭泣。因为有超过40名开发人员和其他非程序员工。

有帮助吗?

解决方案

据我所知,没有一个人,我多年来一直使用海湾合作委员会。

<强>更新 不应该使用C ++ 11标准提出任何警告。 相关问题

其他提示

假设您使用某种源控制系统,您可以添加一个预提交挂钩,以确保文本文件以适当的换行符结束。此外,根据您使用的源控制系统,您可以添加一个实际修复行结束的预提交挂钩(如果它不存在)。

为什么不确保你的文件有一个像他们应该的终止换行符?这应该是违规编辑器中的简单配置更改,并且似乎是一种非常简单的“静音”方式。警告。

-Wno-eof-newline

这是在 gcc bug 14331 的修复程序中添加的


奇怪的是,我实际上无法让gcc输出错过换行符的警告。我想新版本完全放弃了这个警告。

我可以让gcc接受 -Wno-eof-newline 但是当我尝试 -Weof-newline 时,它会抱怨无法识别的标志。 C ++ 11在文件末尾删除了换行符的要求,但是为了在旧标准中编写可移植代码,应该可以启用这种迂腐警告。


幸运的是,clang仍能正确支持有关缺少换行符的诊断:可以在所有模式下使用 -Wnewline-eof 启用此警告,或者在C ++ 11及更高版本模式下也可以启用此警告<代码> -Wc ++ 98-COMPAT-迂腐

默认情况下这些警告是关闭的,但如果您正在利用clang的 -Weverything 标志来启用“减法”策略来控制警告,那么在C ++ 11及更高版本模式中需要 -Wno-newline-eof -Wno -c ++ 98-compat-pedantic 来禁用警告。

我90%肯定没有争论可以解决这个问题。

警告的原因是没有结束行的文件在编译时会给出未定义的行为:

参见标准: http://c0x.coding-guidelines.com/5.1.1.2.html

这是一篇博客文章,其中包含一些python代码(我还没有尝试过),它说它会解决这个问题的源代码文件。

http://www.johndcook.com/blog/tag/gcc/

在源控件中添加一个钩子,在添加换行符之前不允许成功执行代码签入?

scroll top