C:现代方法书中,据说-W提供了超出-Wall之外的额外警告。 在示例中,他们一起使用了 -Wall -W。
我的问题是-W除了涵盖-Wall之外的警告之外,是否还提供-Wall的所有警告?如果是,那么为什么将它们一起使用。只需使用 -W 就足够了。
注意:我尝试对未初始化的变量 X 使用 -Wall 。它给出了错误,但 -W 没有。所以我想确认是否适用于所有情况,或者 -W 确实涵盖了所有 -Wall 警告。由于对 C 没有那么丰富的经验,我不知道测试这些标志有多少错误
如果有人知道,请提供我可以深入阅读和理解 GCC 的来源谢谢你。
不从 GCC 3.4 版(2004 年发布)开始,
-W
除了涵盖-Wall
以外的警告之外,还提供-Wall
的所有警告?
-W
选项被重命名为
-Wextra
,尽管
-W
仍被记录为别名。在我可以找到文档的所有 GCC 版本中,
-W
/
-Wextra
启用某些特定警告,而
-Wall
则不启用。在某些版本中,有一个或多个选项需要两者一起启用,但不能单独启用。但是
-W
/
-Wextra
不会 启用
-Wall
所启用的警告(超出默认值)。也就是说,
-Wextra
不是
-Wall
的超集。您可以在其
文档站点找到许多版本的 GCC 手册。最新发布版本是GCC 13.2。