使 GCC 和其他 C 编译器非常严格

新手上路,请多包涵

我正在开发一个大型协作 C++ 项目,该项目在各种 Linux、OS X 和 Windows 上开发和运行。我们使用 GCC、Visual Studio C++ 和英特尔 C++ 编译器在这些平台上进行编译。随着越来越多的人开始为项目开发代码,我们开始在编译和运行时看到奇怪的错误,这些错误是特定于特定操作系统上的特定编译器的。这方面的一个例子是隐含包含某些 OS/编译器对似乎为您找到的标头,意外地从派生类的基类中重载了函数。

我的目标是让 GCC 上的编译更加严格,并在所有平台上捕获更多错误,这样我们就不会一直遇到这些问题。这是我正在考虑尝试通过 Google 和 GCC 手册页找到的 GCC 的标志列表:

人们用来使 GCC(以及不太重要的 Visual Studio C++ 和英特尔 C++ 编译器)遵循更严格的 C++ 语言标准的其他标志是什么?请具体说明您正在谈论的编译器和版本,因为其中一些可能不会在所有编译器的所有版本中实现。

原文由 James Thompson 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 615
2 个回答

除了其他人建议的迂腐错误,IMO,在编译过程中运行 lint 总是好的。

那里有一些工具:

他们会节省你很多时间。

原文由 KOkon 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题