14得票1回答
预期得到的是“const char **”,但参数的类型是“char **”。

我收到的编译警告如下:src/Debugger.c:219:52: warning: passing argument 2 of ‘Debugger_Command[i].Callback’ from incompatible pointer type Deb...

14得票1回答
如何禁用gcc警告“cc1: warning: command line option ‘-std=c++11’ is valid for C++/ObjC++ but not for C [enabled by default]”

我对cmake和gcc还不熟悉。我在公司的新角色中的第一个任务是清理我们linux编译中的错误。我做了大部分工作,现在唯一看到的警告是: cc1: warning: command line option ‘-std=c++11’ is valid for C++/ObjC++ but no...

14得票3回答
“warning: assuming that the loop is not infinite”的解释是什么?

我刚刚决定将尽可能多的变量从unsigned更改为int,在重新编译相关代码后,收到了以下警告消息:freespace_state.c:203: warning: assuming that the loop is not infinite 需要翻译的内容:这行代码:for (x = star...

14得票4回答
-fPIC在目标上被忽略(所有代码都是位置无关的),这是一个无用的警告。

编译我的库时,我已经打开了-fPIC选项,因为我希望能够将其编译为共享库和静态库。在Cygwin上使用gcc 3.4.4编译所有源文件时,会出现以下警告:-fPIC ignored for target (all code is position independent) 我真的很想知道它的意...

13得票2回答
隐式转换的gcc警告标志

最近我在类似情况下遇到了一个错误:double getSomeValue() { return 4.0; } ... std::string str; str = getSomeValue(); 正如您所见,很容易发现这个问题,但在一个庞大的代码库中,如果getSomeValue()不...

13得票1回答
GCC对齐内存分配的新特性支持(alignas)

我发现GCC的aligned-new警告和gcc -faligned-new选项缺乏更多信息。我的编译器是gcc 7.2.0(没有--std=c++17选项),我试图定义一个对齐的结构体,例如:struct alignas(64) Foo { int x; } 只是简单地执行:Foo * f ...

13得票4回答
将类型转换为void不能消除warn_unused_result错误。

在测试中,我会丢弃任何来自 stderr 的内容,因为它会使测试用例的输出混乱。我正在使用以下代码:freopen("/dev/null", "w", stderr); 当使用-Wall -Werror编译时,我会得到以下错误error: ignoring return value of ‘f...

13得票1回答
GCC警告:ISO C不允许使用命名可变参数宏

使用以下命令:gcc -c -Wall -Wextra -pedantic -ansi -std=c99 -fstack-protector-all -fstack-check -O3 root.c -o rootTESTOBJECT 我收到了编译器警告 root.h:76:22: ...

13得票2回答
是否有GCC警告可以检测有符号类型的位移操作?

如果我对C++ ISO规范(5.8.2和5.8.3节)的阅读正确的话,负有符号类型的右移是实现相关的,左移则是未定义行为。 因此,我想在我们使用g++ 4.8.2编译的遗留源代码中找到有符号类型的移位操作。 不幸的是,在手册中我找不到这样的选项。例如,我可以使用"g++ -Wall -We...

12得票2回答
这个涉及到[[fallthrough]]属性的C++代码是否应该有来自GCC编译器的诊断?

我正在测试GCC编译器版本7.1.0上的C++17功能。这与fallthrough属性有关,以下示例(实时示例)改编自在线CPP参考此处。#include "iostream" using namespace std; int f(int n) { switch (n) { c...