7

如何禁用几行代码的所有警告。可以使用 GCC 诊断功能禁用特定警告,但是否有所有警告的标志。我试过这种方式,但它不起作用

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-wall"
// some code
#pragma GCC diagnostic pop
4

2 回答 2

9

从这里:http ://dbp-consulting.com/tutorials/SuppressingGCCWarnings.html

对于 4.6 或更高版本,您可以保存用户诊断标志的状态。您可以将其插入导致虚假警告的行周围:

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
    // Code that causes warning goes here
#pragma GCC diagnostic pop

为了实现所需的行为,您应该使用“-Wall”而不是“-Wdeprecated-declarations”(而不是“-wall”——注意大写的“W”)。

于 2012-12-24T04:46:35.793 回答
1

我认为 gcc -w filename.c 这样做
-w 标志是忽略警告

于 2011-06-20T05:57:11.293 回答