一般在编译代码时会有相当多的警告信息,尤其当我们使用了-wall选项的时候.-wall绝不是像其字面意思一样打开所有警告.不过它打开的警告也相当多了.对于一些我们已知"无害"但仍然打印出来挤占可怜的控制台空间的警告,我们当然可以将其"屏蔽"掉.
就拿以下代码来说:
其会生成一个所谓的"三字符组符号"使用的警告,假设这正是我们需要的效果,所以我们可以忽略该警告.我们编译一下看看先(无论用gcc还是clang):
gcc:
clang:
不过在去掉-wall警告后,可以发现没有任何警告,一切都安静了.但这不是我们想要的,因为可能放过一些真正隐含错误类的警告.大家可以看到警告提示中写明了该警告的类型:-wtrigraphs.我们只要加上在w后面加上no即可屏蔽该警告,不过要放在wall选项后面,如果放在前面,仍然会有警告哦.编译器应该是以最后一个"有效"选项为准呀!