跨平台开发工具链与编译器使用指南
1. 编译器标志介绍
1.1 g++ 编译器标志
- -Wall :该标志会启用 g++ 能够生成的大部分警告标志,但有一些例外。例如,由 -Weffc++ 启用的 “Effective C++” 警告(是的,有这样一个标志)不会被 -Wall 启用,详情可查看手册页。
- -Werror :此标志会使编译器在发现警告时构建失败,即将警告转化为错误,要求开发者修复而不是忽略它们。
- -std=c++98 :使用该参数会使 g++ 编译器遵循 1998 年的 ISO C++ 语言标准。
- -pedantic-errors :该标志用于确保只有严格符合 ISO 标准的 C++ 代码才能成功编译。不符合标准的代码编译将失败,原本使用 -std 时可能只是警告的情况,使用 -pedantic-errors 后会变成错误,因为它不允许忽略任何标准违规,也不允许使用 GNU 扩展。在将代码移植到其他编译器(如 Microsoft Visual C++)时,使用 GNU 扩展可能会导致问题。
1.2 Visual C++ 编译器标志
Visual C++ 有一些与上述 g++ 标志大致类似的编译器标志:
| Visual C++ 标志 | 说明 | 类似的 g++ 标志 |
| ---- | ---- | ---- |
| /Wn | 用于将警告级别定义为 n,n 可
超级会员免费看
订阅专栏 解锁全文
1862

被折叠的 条评论
为什么被折叠?



