compiler-warnings相关内容

在Makefile中检查gcc版本?

我想使用一些gcc警告开关,这些警告开关在旧的gcc版本中不可用(例如。-Wtype-limits)。 有没有简单的方法检查gcc版本,只添加这些额外的选项,如果使用最近的gcc? 解决方案 我不会说它容易,但是你可以使用GNU make的 shell 函数执行shell命令,比如 gcc --version ,然后使用 ifeq 条件表达式来检查版本号并适当地设置你的 CFLAGS ..
发布时间:2018-04-20 16:33:43 其他开发

为什么我没有得到“使用未初始化的”在这个微不足道的例子中,来自gcc的警告?

在如何解决序列反转程序中的这种分割错误?。 所以我打算重复“请使用 - Wall flags“评论,但是当我测试代码与警告时,我发现没有警告报告给我很大的惊喜。所以我修剪它(这段代码对于执行的目的没有任何意义,但它说明了我想展示的内容): #include ..
发布时间:2018-04-20 16:28:02 其他开发

海湾合作委员会不尊重'编译GCC诊断'以使警告无效

我们最近为一个项目启用了 -Wall 。当GCC在4.7或更高版本(或Clang)时启用它,因为我们可以使用 GCC诊断 来管理高架警告的输出。我们希望通过命令行参数来管理它们,而不是通过 来管理它们。 (我们不想污染命令行,或者要求图书馆用户重新发现需要的内容)。 在GCC 4.8和5.1下,我们捕捉到警告在 -Wunused-variable , -Wunused-value , - 的 ..
发布时间:2018-04-20 16:20:31 C/C++开发

我如何隐藏“已定义但未使用”海湾合作委员会的警告?

CASSERT(isTrue)或CASSERT2(isTrue,prefix_) 在使用GCC进行编译时,我收到许多警告,例如'prefix_LineNumber'使用。有没有办法隐藏编译时断言的警告?我没有找到GCC文档的运气。我想我可能会在同一个宏中自动使用全局变量,但我想不出有什么办法做到这一点。 有谁知道隐藏的方法在GCC中发出警告? 解决方案 刚刚查 ..
发布时间:2018-04-20 15:58:54 其他开发

禁用gcc中的特定警告

在Microsoft编译器上,可以使用#pragma禁用特定警告,而不禁用其他警告。这是一个非常有用的功能,如果编译器警告“必须完成”的事情。 GCC在这一点上是否有类似的功能?这似乎是一个足够明显的功能,它无法想象,它不会有这个功能,但在网络上的旧信息表明这个功能不存在。 什么是在GCC中使用的吗? 具体而言,我喜欢使用多字符常量,如'abc'。这些数据可以有效地评估为基本25 ..
发布时间:2018-04-20 15:49:43 其他开发

仅针对部分翻译单元选择性禁用GCC警告?

#pragma warning(push)//保存当前的警告州。 #pragma警告(禁用:4723)// C4723:潜在的除以0 //代码会产生警告4723. #pragma警告(弹出)//将警告恢复到之前的状态。 我们在通常包含的头文件中有代码,我们不希望产生特定的警告。但是,我们希望包含这些头文件的文件能够继续生成该警告(如果项目启用了该警告)。 从4 ..
发布时间:2018-04-20 15:40:49 C/C++开发

在比较int和unsigned的引用时发出警告,但如果将consts(no ref)与g ++ / msvc进行比较,则不会发出警告

因此,我正在写 doctest 库,它应该是免费的警告。 我最近注意到,如果语句没有警告,进入的代码在写入 CHECK() macro。 例如: if(0u == 0)不会导致警告,但 CHECK(0u == 0); 不会。 部分原因是在 CHECK()宏后面有模板和表达式分解和通过const引用捕获。 我的问题是3: 给出这3个片段 - 为什么会发生这种情况? ..
发布时间:2018-04-18 21:03:58 C/C++开发

如何识别gcc编译日志中的警告类型以禁用它?

当我在Eclipse CDT Indigo和g ++(Debian 4.9.2-10)4.9.2下编译我的项目时,我有很多警告。从这里,可能会解释一些Eclipse解析器错误,可能还有一些外部库bug。 当然我会升级Eclipse,但现在不能。 压制这些繁琐的警告。我阅读手册此处,但我仍然看不到以确定要设置哪些选项。我没有选中Eclipse中的 -Wall 选项,但没有任何更改。所有E ..
发布时间:2018-04-18 20:54:35 其他开发语言

如何摆脱“内联函数使用但从未定义过”在g ++中警告

我正在使用mingw-w64。我包括 strsafe.h ,并得到以下警告: 警告:内联函数'HRESULT StringCchPrintfA(STRSAFE_LPSTR,size_t,STRS AFE_LPCSTR,...)'使用但未定义[默认情况下启用] 我使用的唯一标志标志是 -Wall -DDEBUG -g 。我知道你必须在同一个头文件中定义内联函数,并且我看了 ..
发布时间:2018-04-18 20:51:43 其他开发语言

如何将gcc警告转储为结构化格式?

像许多人一样,我用大量的警告标志来构建我的项目。 由于并非所有警告标志都是有害的,汇编变得很嘈杂。 诸如“未使用的变量”,“初始化列表中的遮蔽成员”,“缺少开关默认值”等警告对于日志都很重要,但是在构建期间它们会造成太多混乱,并且很难发现重要的警告。 给定一个大型项目,可能会有成千上万的警告与构建语句混合在一起,而解析虽然后来变得繁重。在代码中维护编译器pragma和push / ..
发布时间:2018-04-18 20:46:21 C/C++开发

如何在Qt Creator中抑制警告

我的g ++ - 4.5打印: 我想知道是否可以在Qt-Creator中禁止编译器特定的警告。 警告:条件表达式中的枚举类型和非枚举类型 因为它非常烦人。 Ubuntu 11.04 x64 g ++ - 4.5 QtCreator 2.01 Qt 4.7 谢谢! 解决方案 您需要使用这个: QMAKE_CXXFLAGS + = -Wno-enum-co ..
发布时间:2018-04-18 20:42:43 服务器开发

如何让gfortran或ifort告诉我何时隐含地将REAL(4)推广到REAL(8)?

我的任务是改变HPC应用程序部件的精度,同时铭记它严重依赖于自动矢量化。因此,编译器告诉我何时发生任何类型的浮点转换转换(因为这可能会对性能造成严重影响)。 $ b -Wconversion 标志听起来像它应该适合我的需要: Wconversion 警告不同类型之间的隐式转换。 https://gcc.gnu.org/onlinedocs/gcc-4.1.0/gfortra ..
发布时间:2018-03-16 17:32:38 其他开发

所有警告与Eclipse Java编译器(3.6.2)的错误一样

在命令行运行时,如何使用Eclipse Java编译器(ECJ)3.6.2 * 将警告视为错误 ? 较新版本(至少3.8.2)具有 -err:all 标志,但是这是不可用于3.6.2。我有其他选择吗? 我发现了这个问题( Javac:将警告视为错误 ),它建议使用未记录的 -Werror 标志,但只是似乎为了工作javac。 注意:由于各种原因完全无法控制,我必须使用ECJ 3. ..
发布时间:2017-07-30 21:31:01 Java开发