代码之家  ›  专栏  ›  技术社区  ›  helpermethod

-它到底有多有用?

gcc
  •  18
  • helpermethod  · 技术社区  · 16 年前

    我现在正在阅读GCC手册,尤其是有关警告/错误标志的部分。在阅读了关于-wextra标志的部分之后,我想知道它是否有用。它似乎抱怨一些似乎很主观或很有品味的事情。我不太熟悉GCC,我只是偶尔在大学里使用一些小项目,所以对于所有有经验的C/C++(或者使用GCC的任何语言),有什么关系——Wextra?

    3 回复  |  直到 9 年前
        1
  •  23
  •   Whymarrh    9 年前

    -Wextra , 除了其他的东西 暗示 -Wtype-limits :

    如果比较始终为true或 由于范围有限,始终为假 数据类型,但不警告 常量表达式。例如, 如果无符号变量为 将零与“<”或进行比较 ''.gt=''。此警告也由启用 - Wextra。

    我发现了这个 非常有用 .

        2
  •  7
  •   Joseph Quinsey Taseen    16 年前

    我通常添加 -Wno-sign-compare -Wno-unused-parameter 消除噪音。

    隐含的 -Wuninitialized (与 -O2 选项)已经 非常 对我有帮助,但是最初将它添加到代码库中可能会有点让人望而生畏。解决这个问题的一种方法是添加两个宏(看起来有点奇怪:等号是故意的):

    #define ELIMINATE_GCC_WARNING = 0 // used to remove nuisance warnings
    #define UNCHECKED_GCC_WARNING = 0 // not yet verified
    

    然后,您可以快速消除GCC警告,并使用以下方法获得干净的编译:

    int foo UNCHECKED_GCC_WARNING;
    

    然后作为可选步骤,返回并检查这些添加项,并逐个更改它们以消除_GCC_警告。这可能很慢。但是如果你没有发现一些现存的错误,我会很惊讶的。

        3
  •  2
  •   Soumya Kanti    13 年前

    请看 http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html .

    因此,它不仅对“始终为真”的比较(wsign compare)有用,而且还可以识别其他编译问题。我发现它经常有用。