一行talk GCC吧(第四回:GCC警告)

一起talk GCC吧(第四回:GCC警告)


各位看官们,大家好,上一回咱们说的是GCC编译相关的内容。这一回咱们说说如何使用GCC发出警告,闲

话休提,言归正转。让我们一起talk GCC吧!


看官们,GCC有编译警告的功能。什么是编译警告?台下有看官提问了。所谓的编译警告就是编译器在编

译过程中把一些不符合编译规则但是又符合编译语法的内容给予警告。我用一个现实生活中的例子给大家

做个比喻:大家都看过足球比赛吧,足球比赛的裁判手里拿着拿着黄色和红色两种颜色的牌。比赛中球员

们违反比赛规则的事情经常发生,如果球员违反的规则不会给比赛带来严重后果,那么裁判会给球员出示

黄牌。如果球员违反的规则会给比赛带来严重后果,那么裁判会给球员出示红牌。足球比赛中的黄牌就好

比GCC中的编译警告,红牌就好比GCC中的编译错误。GCC发出编译警告,但是还可以继续编译。GCC发出

编译错误,那么它就会停止编译。


在默认情况下,GCC会开启编译警告功能,不过只是包含一些基本的警告的信息,我们可以通过GCC的选项

让GCC在编译过程中发出更多更多的编译警告。


选项Wall可以让GCC发出更多的警告。例子:gcc -Wall file.c -o f.o

选项Werror可以让GCC将警告看作是错误,选项wall虽然能让GCC发出更多的警告,但是不会让GCC停止

编译。选项werror发生警告时会让GCC停止编译。


看官们,警告信息,也是有用的信息,因为警告中可能会有一些潜在的错误。所以使用GCC时尽量打开警

告信息,并且注意编译时产生的警告信息,把它们修改好,直到没有产生编译警告为止。


看官们,关于GCC的内容,今天咱们就说这些。欲知后事如何,且听下回分解!