问题标签 [gcc-warning]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
210 浏览

gcc - 仅在没有错误时发出 gcc 警告

是否可以告诉 gcc 显示所有警告(如使用 -Wall),但前提是没有错误?如果有错误 - 只显示它们。

0 投票
3 回答
6080 浏览

c - 关于存储类和类型的奇怪 GCC 警告

我有一个看起来像的头文件

头文件.h

此文件仅包含在一个代码文件中

代码.c

编译 code.c 时 GCC 发出警告

code.c:3:1: 警告:数据定义没有类型或存储类 [默认启用] code.c:3:1: 警告:在“TOS”声明中类型默认为“int”[默认启用]

我不明白这个警告的原因。不就相当于在code.c中声明和定义TOS吗?IE

代码.c

0 投票
6 回答
4171 浏览

c++ - 我如何告诉 gcc 在 switch/case 语句上不中断地发出警告(或失败)?

我有一个复杂的switch语句,我忘了在其中一个sbreak的末尾加上 a。case这是非常合法的,结果我掉到了下一个case.

如果我忘记发表声明,有什么方法可以让 gcc 发出警告(甚至更好,失败)break

我意识到有许多有效的用例(并且我经常在我的代码中使用它们),如this question所示,所以显然这样的警告(或失败)需要一个简单的弃权,以便我可以轻松地说,“我愿意想从这里掉下去。”

有没有办法告诉 gcc 这样做?

0 投票
2 回答
1502 浏览

c - GCC 4 的结构初始化失败

在我的 x86_64 Linux 机器上使用 GCC 4.5.3 初始化结构时,我遇到了一个非常奇怪的问题。

有问题的代码:

apr_finfo_t 是相当复杂的结构。我只想说它有 17 个复杂的其他成员。

现在,当使用 GCC 4.5.3 和-std=c99 -pedantic -Wextra编译这篇文章时,我看到以下警告消息:

显然 GCC 试图初始化第一个成员,但已经阻塞了第二个成员。不使用-W / -Wextra构建时不会出现此警告。

可以手动初始化每个成员,但这听起来很奇怪和错误。

从我从谷歌搜索中收集到的信息来看,这个初始化似乎是完全合法的,并且有关于 GCC 3 的报告它在哪里工作。但不是 GCC 4.5 或 4.1。

希望有人可以提供帮助。:)

最好的祝福,

米海

0 投票
2 回答
12201 浏览

xcode - Mac OS X Snow Leopard 下的 GCC 警告“内置函数‘printf’的不兼容隐式声明”

在远离 C 编程很长一段时间后,我决定再次尝试熟悉它。我正在尝试编译一个 hello.c 程序,但遇到了问题。这是代码:

这是 gcc 的输出:

我正在使用运行 Snow Leopard (10.6.8) 和 Xcode 3.2.6 的 Mac。

这是“gcc -v”输出:

gcc 无法找到位于 /Developer/SDKs/MacOSX10.6.sdk/usr/include 中的 stdio.h。想知道如何设置环境变量,所以我不必在命令行上指定包含路径。当我在命令行上指定它时出现另一个错误:

我的 LD_LIBRARY_PATH 环境变量是:

任何帮助表示赞赏。

谢谢,基思

0 投票
3 回答
6922 浏览

c - 如何最好地修复两个警告(旧式 c 函数声明不是原型)

我在一段其他人的代码中修复了一些函数,其中包括许多不带参数的函数。他们被宣布为

而不是 return_type_t func(void);

然后我发现其中一堆被放入带有函数指针的结构数组中。当我将函数指针固定为 void 时,它给了我另一个警告,因为函数的 1 使用了 char* 而不是 void ptr。

没有大量重写的这种事情的最佳解决方案是什么(因为代码很复杂,我主要是在边缘清理它并希望避免改变它的流动方式)?

0 投票
0 回答
94 浏览

eclipse - eclipse Helios 排序 - 多行警告说明(gcc 多行警告)

我用 gcc 编译器编译我的项目。多行警告示例之一是:

但我无法在问题视图(描述)中正确阅读。我得到的是 3 个不同的警告。所有行都在不同的地方 - 根据排序方法。

有没有办法在不排序的情况下显示这个输出?也许有一些 gcc 标志可以避免分裂?

0 投票
4 回答
1984 浏览

ios - 如何抑制每个文件的 -Wno-protocol

我实现了 Objective-C 协议,它将所有协议的方法转发到另一个目标。一切都很好,除了编译器警告这个类没有实现协议的方法。我正在尝试使用#pragma 诊断来抑制此警告:

但是编译器警告说“未知警告组'-Wno-protocol'”

0 投票
3 回答
7351 浏览

c - 警告:格式 %s 需要类型 char * 但参数 2 的类型为 int

我已经查看了其他相关问题,但没有一个对这个案子有帮助。
我收到问题标题中列出的警告,我的代码main如下:

用户将输入一个数字(例如 4),该数字将被扫描到n. 该空间被分配用于电话垫的行。然后用户将输入n用于配置电话板的行数。一个例子是:

123
456
789
.0。

所以我很困惑为什么我的最后一条printf语句会出现这个错误。

注意:我也试过scanf("%s", rows[i]);:仍然得到错误。
注意2:我还是尝试运行该程序。出现分段错误。
注 3:我的 .c 程序的顶部有#include <stdio.h>和。 注 4:我已经 gcc'ed 程序是这样的:.#include <stdlib.h>
gcc -ansi -pedantic -Wall tele.c

感谢您的帮助。

0 投票
0 回答
112 浏览

c++ - 使用 Boost 1.47 为 c++ 项目启用 -Weffc++ 后的警告

可能重复:
如何抑制库头文件中的 GCC 警告?

我刚刚激活了 -Weffc++ 编译器开关,现在我收到了大量与 boost 库相关的警告。

这是第一个警告:

我只是想让自己的代码更好,那么如何阻止编译器对非用户生成的头文件发出警告?

或者有没有办法限制搜索的深度?这可能会有所帮助,因为提升包含非常嵌套(请参阅上面的警告)。