为什么在 GCC/C++ 中"pragma GCC diagnostic push"弹出警告?
Why "pragma GCC diagnostic push" pop warning in GCC/C++?
#pragma GCC diagnostic push
it pop: warning: expected [error|warning|ignored] after â#pragma GCC diagnosticâ
为什么?我在Linux中使用GCC。
我有一个问题,如果我不能使用pop/push,如果忽略只有影响编译的cpp,不影响其他cpp?如果其他的包括帽,会影响它吗?
#pragma GCC diagnostic push
和#pragma GCC diagnostic pop
在gcc 4.6中被添加。您使用的是旧版本。
这些pragmas通常与其他#pragma GCC diagnostic
指令一起使用,以抑制,打开或转换为一小部分代码的错误特定警告。如果忽略它们,对警告级别的更改将应用于源文件的其余部分,而不仅仅是下一个#pragma GCC diagnostic pop
。这可能不是问题,也可能是世界末日;你需要理解你的代码才能确定。
不管怎样,你都应该更新你的编译器。你不会用C89编译器编译C99;不要在GCC 4.4中编译包含GCC 4.6 pragmas的代码
相关文章:
- CMake项目Boost库错误:Boost/config/compiler/gcc.hpp:165:10:致命错误:cs
- 奇怪的结构&GCC&clang(void*返回类型)
- GCC本机矩阵运算库
- PowerPC ppc64le上的Gcc Woverloaded虚拟错误
- gcc和c++17的过载解析失败
- 数据成员SFINAE的C++17测试:gcc vs clang
- GCC对可能有效的代码抛出init list生存期警告
- 如何解决gcc编译器优化导致的centos双编译器设置中的分段错误
- 使用 GCC 卸载的 OpenMP 卸载失败,并出现"Ptx assembly aborted due to errors"
- 为什么与常规GCC不同,即使有"学究性错误",MinGW-GCC也能容忍丢失的返回类型
- 使用gcc从静态链接的文件中查找可选符号
- 普通环路未使用gcc 4.8.5自动矢量化
- 有了gcc,是否可以链接库,但前提是它存在
- 在clang++预处理器中确定gcc工具链版本
- 为什么 gcc 编译这个而 msvc 没有
- 为什么lambda在clang上崩溃而不是在gcc上崩溃
- 我可以检测和更改 gcc/g++ 中结构的当前数据对齐设置吗?
- gcc和clang在表达式是否为常量求值的问题上存在分歧
- GCC上的#pragma-pack(push,n)/#pragma-pack(pop)和__attribute__((_
- 为什么在 GCC/C++ 中"pragma GCC diagnostic push"弹出警告?