Questions tagged «gcc-warning»

21
如何最好地使未使用变量的警告静音?
我有一个跨平台应用程序,在我的一些函数中,并没有使用传递给函数的所有值。因此,我从GCC收到警告,告诉我有未使用的变量。 围绕警告进行编码的最佳方法是什么? 函数周围的#ifdef? #ifdef _MSC_VER void ProcessOps::sendToExternalApp(QString sAppName, QString sImagePath, qreal qrLeft, qreal qrTop, qreal qrWidth, qreal qrHeight) #else void ProcessOps::sendToExternalApp(QString sAppName, QString sImagePath, qreal /*qrLeft*/, qreal /*qrTop*/, qreal /*qrWidth*/, qreal /*qrHeight*/) #endif { 这是如此丑陋,但似乎是编译器希望的方式。 还是在函数末尾给变量赋零?(我讨厌这是因为它正在更改程序流中的某些内容以使编译器警告静音)。 有没有正确的方法?
237 c++  gcc  warnings  gcc-warning 


2
C中的&&&操作
#include <stdio.h> volatile int i; int main() { int c; for (i = 0; i < 3; i++) { c = i &&& i; printf("%d\n", c); } return 0; } 使用编译的上述程序的输出gcc为 0 1 1 使用-Wall或-Waddress选项,gcc发出警告: warning: the address of ‘i’ will always evaluate as ‘true’ [-Waddress] c在以上程序中如何进行评估?

7
如何打开(字面上)所有GCC警告?
我真的要启用GCC的所有警告。(您会认为这很容易...) 您-Wall可能认为可以解决问题,但不能!还需要-Wextra。 您-Wextra可能认为可以解决问题,但不能!并非所有此处列出的警告(例如-Wshadow)都已启用。而且我仍然不知道这个清单是否全面。 我如何告诉GCC启用(如果不是,则不是,否则为!)所有警告?

4
警告:内置函数“ xyz”的隐式声明不兼容
编译一些二进制文件时,我收到许多这样的警告: warning: incompatible implicit declaration of built-in function ‘strcpy’ warning: incompatible implicit declaration of built-in function ‘strlen’ warning: incompatible implicit declaration of built-in function ‘exit’ 为了解决这个问题,我添加了 #include <stdlib.h> 除了使用以下标志进行编译之外,还位于与此警告相关的C文件的顶部: CFLAGS = -fno-builtin-exit -fno-builtin-strcat -fno-builtin-strncat -fno-builtin-strcpy -fno-builtin-strlen -fno-builtin-calloc 我正在使用GCC 4.1.2: $ gcc --version gcc (GCC) 4.1.2 20080704 我应该怎么做才能解决这些警告?
164 c  gcc  gcc-warning 

9
如何从库头中隐藏GCC警告?
我有一个使用log4cxx,boost等库的项目,其标头会生成很多(重复)警告。有没有一种方法可以禁止来自库包含(例如#include <some-header.h>)或来自某些路径的包含的警告?我想在项目代码中照常使用-Wall和/或-Wextra,而不会模糊相关信息。我目前在make输出上使用grep,但是我想要更好的东西。

2
在C中不使用main()编译并运行程序
我正在尝试编译和运行以下没有main()功能的程序C。我已经使用以下命令编译了程序。 gcc -nostartfiles nomain.c 编译器发出警告 /usr/bin/ld: warning: cannot find entry symbol _start; defaulting to 0000000000400340 好,没问题 然后,我运行了可执行文件(a.out),两个printf语句都成功打印,然后出现分段错误。 因此,我的问题是,为什么成功执行打印语句后出现分段错误? 我的代码: #include <stdio.h> void nomain() { printf("Hello World...\n"); printf("Successfully run without main...\n"); } 输出: Hello World... Successfully run without main... Segmentation fault (core dumped) 注意: 在这里,-nostartfilesgcc标志可防止编译器在链接时使用标准启动文件

8
Pedantic GCC警告:函数返回类型上的类型限定符
当我第一次使用GCC 4.3编译我的C ++代码时(成功地在4.1、4.0、3.4上使用-Wall -Wextra选项进行了警告的情况下成功编译了它)之后,突然出现了一系列错误warning: type qualifiers ignored on function return type。 考虑temp.cpp: class Something { public: const int getConstThing() const { return _cMyInt; } const int getNonconstThing() const { return _myInt; } const int& getConstReference() const { return _myInt; } int& getNonconstReference() { return _myInt; } void setInt(const int newValue) …

1
GCC的-Wpsabi选项到底能做什么?抑制它意味着什么?
背景 去年,我使用了nlohmann json库[1],并且使用GCC 5.x在x86_64上进行了交叉编译arm-linux-gnueabi-*而没有任何警告。当我将GCC更新为较新版本时,GCC会生成含糊的诊断说明页面。例如,这是注释之一 In file included from /usr/arm-linux-gnueabi/include/c++/7/vector:69:0, from include/json.hpp:58, from src/write_hsi.cpp:23: /usr/arm-linux-gnueabi/include/c++/7/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long long int, long long unsigned int, double, std::allocator, nlohmann::adl_serializer>}; _Tp = nlohmann::basic_json<>; _Alloc = std::allocator<nlohmann::basic_json<> >]’: …
69 c++  linux  gcc  gcc-warning  abi 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.