Prefer Compiler Error to Runtime Error - taking advantage of the syntax check flag

写代码难免会有bug,所以我们会写很多Test来确保我们的代码能够正常工作。但是为什么不从源头上避免bug的发生呢?
Compiler可以帮助我们探测到很多潜在的bug,我们所要做的只是合理的设置编译参数、并充分利用C++的各种特性。

通常我们可以利用编译器提供的Syntax Check功能来检测代码,这样可以避免生成大量临时的obj文件。下面是用于代码检测的推荐编译参数。

VC8:
命令行参数
/Zc:forScope /Zc:wchar_t /Wp64 /W4 /Wall /O2 /GR /EHsc /nologo /Zs
你可以用/wd来屏蔽某些warning,比如以下的warning通常可以忽略:
4061,4365,4619,4625,4626,4668,4710,4820

Intel Compiler 10:
命令行参数
/Zc:forScope /Zc:wchar_t /Wcheck /Wport /Wp64 /W4 /Wall /O3 /GR /GX /Qms0 /nologo /Zs
你可以用/Qwd来屏蔽某些warning,比如以下的warning通常可以忽略:
383,810,981

GCC:
命令行参数
-O3 -ansi --extra-warnings -W -Wall -fsyntax-only
你可以用-W来增加额外的检查,比如下面这些:
           "aggregate-return","cast-align","cast-qual","char-subscripts",
            "comment","conversion","deprecated","effc++",
            "float-equal","format=2","missing-format-attribute","missing-noreturn",
            "old-style-cast",
            "overloaded-virtual", "packed","padded",
            "pointer-arith","redundant-decls","shadow","sign-promo","synth",
            "trigraphs","no-unknown-pragmas","write-strings"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值