如何设置VS2008以实现高效的C ++开发

时间:2008-10-02 16:41:14

标签: c++ visual-studio static-analysis

通常我用C#编程但是被迫在C ++中做一些工作。与C#相比,与Visual Studio(2008)的集成似乎真的很差,但我想知道是否有任何可以改善这种情况的好工具,插件或配置。

另一篇文章指出了Visual Assist X程序,它至少可以帮助重构一些事情(尽管对我来说有点贵)。但是,我的主要问题是,编译错误几乎没有给出错误的线索,我花了大部分时间来弄清楚我做错了什么。它只是感觉可能静态地检查比VS开箱即用更多的错误。为什么它不像C#那样提供蓝色下划线,这不应该太难?!

我意识到问题的一半只是我不熟悉C ++这一事实,但我真的觉得让程序编译起来是不合理的。有没有这种工具或我的要求太高了?

3 个答案:

答案 0 :(得分:7)

我认为有两种可能性:1)要么你正在尝试C ++的东西而不是你的知识(因此,你不知道你做错了什么以及如何解释错误信息),2)你抱有太高的期望。

提示:许多后续错误是由第一个错误引起的。当我得到一个巨大的错误列表时,我通常只纠正第一个错误并重新编译。你会惊讶于丢失的分隔符或类型声明会产生多少垃圾(就错误信息而言):)

在编译之前很难对C ++程序进行语法分析主要有两个原因:1)C ++语法是依赖于上下文的,2)模板是Turing-complete(将它们视为具有奇怪语法的函数式编程语言) )。

答案 1 :(得分:4)

我的建议:

  • 如果您需要更多功能,例如C#,请获取VisualAssist X,并了解如何使用它。它不是免费的,但它可以为您节省大量时间。
  • 设置你的warning level high(这最初会产生更多的编译错误,但是当你修复它们时,你会感觉到常见的错误。)
  • 将警告设置为错误,这样您就不会养成忽略警告的习惯。
  • 要了解编译错误,请使用Google(不要在帮助系统上浪费时间)搜索警告错误编号(它们如下所示:C4127)。
  • 避免使用模板,直到您使用上述方法编译没有错误的代码。如果你不熟悉模板,请研究!得到一些书,做一些教程,从小做起。众所周知,模板编译错误很难搞清楚。 Visual C ++ 2008比以前的版本有更好的错误消息,但它仍然很难。
  • 如果您认真开始模板,请使用宽屏显示器(甚至可能是两个)来更轻松地阅读详细信息。

答案 2 :(得分:3)

+1 for Visual Assist,也许不是现在 - 但是当你把这个爱好变成一个专业时,你将需要它。

根据我的经验,诊断已经比VC6好得多,但是你需要“学习”它们作为学习IDE的一部分的真正含义。

由于构建模式和非常复杂的语言,C ++的静态检查比C#复杂得多。 PC-Lint (最好与Visual Lint一起将其集成到IDE中)是规范的静态分析。也不便宜,但是......

C ++标准有时读起来像经文,但没有经过训练的传教士来解释它。一位优秀的翻译是Marshal Cline和他的 C++ FAQ 。请注意,在线常见问题解答虽然广泛,但涵盖的内容远远少于the book

帮助我理解复杂错误消息的原因是试图在较小的环境中重现问题 - 但是当时没有互联网......