再见,机器人--你好,沼泽地。 - 页 9

 
C-4:
这种人是怪人。这种蛋疼的人像风车一样与编译器斗争,却不了解主要的事情:编译器是你的盟友!这就是所谓的不公平。当编译器对潜在的不安全代码片段发誓时,就会感到高兴。即使应用程序在启动后立即以错误字符串崩溃,也会感到高兴。但上帝保佑,当没有错误或警告时,你会得到一个无法管理的代码,而且程序似乎工作得很好,但每隔一段时间就会出现奇怪的故障,其原因无法追踪到任何地方。在这样的时刻,你会变得空虚,开始梦想着 "无效指针 "或 "除以零 "等错误。

事实证明,编译器并不等同于编译器。在这里,英特尔的C/C++编译器是一个盟友。你想发表意见,欢迎你。如果你不想要,没问题。如果你想禁用某些备注,只需给它们命名。

但也有其他的编译器。有些是 "你想怎样就怎样"。

当编译器成为盟友,当它 "倾听 "时,我们应该感到高兴。还有,当它设法避免创建无法管理的代码时。那么,这种怪异的梦境的想法甚至不会出现在你的脑海中。

 
Andrei01:

同样,专业的程序员通常不看警告,因为他们知道编译器的逻辑,而编译器对于测试代码的功能是没有用的。

专业的程序员会打开最大的警告级别和所有的警告(不是备注,只是警告),并确保代码的编译没有一个警告。一些特别热心的人还开启了一种特殊的模式,在这种模式下,警告会被编译器视为错误,如果有哪怕是一个警告,代码就不会被编译。
 

我明白,有些人在熟悉了静态分析器之后会歇斯底里。

但只有在这之后,才有人明白编译器必须(确切地说必须)做什么。现在是2014年,普通的编译器在质量控制方面至少落后10年,只专注于优化。

供参考:英特尔C++编译器仍然存在问题--它在我们的项目 上不断产生内部编译器错误。也就是说,它不会咀嚼大型项目并产生自己的错误。而关于其非凡的优化特性的神话也已经过时了--所有其他的优化水平都大大收紧了。

在C++这样一种危险的自杀式语言中,有这么多的按键和编译开关,让自信的程序员在编译大量古老的、不知道从哪里抄来的代码时不会紧张得抽筋 :)

 
Andrei01:

...

同样,专业的程序员通常不看警告...

载入史册!!。
 
C-4:
载入史册!!。
你能不能就案件的是非曲直说点什么,而不要胡闹?
 
Renat:
您能否推荐一种环境、编译器和设置,以实现C++和其他语言的最佳写作(速度/优化+错误检测等)?
 
bxa29869:
你能推荐一种环境、编译器和设置,以实现C++和其他语言的最佳写作(速度/优化+错误检测等)吗?
Visual Studio 如何?
 
_new-rena:
Visual Studio如何?

我已经试过了,很好。但我没有任何东西可以与之相比。我想在一个最佳的基础设施上编程。

我的程序很小,很少有源代码超过一百千字节的情况。我希望能推荐这样的业余版本。我不是在谈论大型项目

 
bxa29869:
你能推荐环境、编译器和设置,以实现C++和其他语言的最佳编写(速度/优化+错误检测,等等)程序?

建议用于专业发展。

  • Visual Studio 2012及以上版本
  • 免费的CPP检查是必须的
  • PVS工作室(全额付费,你可能会得到CPP Cat的廉价版本)--如果我们谈论的是专业发展,强烈推荐。
  • PC Lint(付费但便宜,适合自动运行,速度快,需要一个插件或像VisualLint那样的gui)。
  • C++内存验证器(有一整套程序,它是付费的,不贵,对资源优化和搜索错误 非常好)
  • Intel Parallel Studio (价格昂贵,速度慢,作为一个编译器有问题,在大众市场上没有用,对数学库有好处,对深度调整有好处,我不太喜欢它)
 
谢谢你!事实证明,在同一时间,常规的Visual Studio 编译器可以不做任何改变。