21、C++ 代码潜在问题查找与构建系统实践

C++ 代码潜在问题查找与构建系统实践

1. 查找潜在代码问题

代码中的 bug 会让快速构建变得毫无意义,因此需要借助编译器标志来发现潜在问题。

1.1 屏蔽外部库警告

对于无法修复的外部库代码问题警告,可使用编译器开关来禁用。
- GCC :有常规包含文件(使用 -I 传递)和系统包含文件(使用 -isystem 传递)两种类型。使用 -isystem 指定目录,可避免该目录下头文件产生的警告。
- MSVC :有与 -isystem 等效的 /external:I ,还有 /external:anglebrackets 可将尖括号包含的文件视为外部文件,禁用其警告,也可指定外部文件的警告级别,使用 /external:templates- 保留由自身代码引起的模板实例化警告。
- CMake :若要以可移植方式将包含路径标记为系统/外部路径,可在 target_include_directories 指令中添加 SYSTEM 关键字。

1.2 符合 C++ 标准

为符合 C++ 标准,可在编译选项中添加相应标志。
- GCC/Clang :添加 -pedant

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值