我是否有任何理由不应该使用 Visual Studio 6 进行 C++ 开发?

  • 我在哪里可以找到一些资源,为什么这会是一个好主意,或者不是一个好主意?
  • 有没有我会遇到的问题清单?
有帮助吗?

解决方案

  1. std::string 运行时中的多核/进程问题,回复: KB813810
  2. STL 支持不佳
  3. 标准 C++ 支持更差

不要这样做。

其他提示

我不会说 Visual Studio 6 “永远”不应该用于 C++ 开发。我想说它应该“不再”用于 C++ 开发。理由:

  1. Microsoft 的后续编译器(特别是 Visual Studio 2008)更加符合 C++ 规范。
  2. 微软后来的编译器添加了更好的警告和错误。当寻找代码的潜在安全问题时,这些非常有用。
  3. 不再支持。较新版本的 Windows SDK 不适用于 Visual C++ 6,因此您将无法在不进行额外工作的情况下使用 Windows 中的较新功能。

总结一下:停止使用 Visual C++ 6。如果必须使用 Microsoft C++ 编译器,请使用 Visual Studio 2008。

如果您想要一个快速、轻量级的环境以及良好的调试器,那么 Visual Studio 6 就很好。问题是它自带的C++编译器,已经非常过时了。作为一名快乐的 VC++ 6 用户多年后,我现在已切换到 代码::块, ,它为您提供了类似的 IDE,但允许您使用最新的 g++ 编译器。

我认为 Visual Studio 不再受 C++ 开发青睐的主要原因是它的年龄。从那时起,编译器也得到了显着改进。

如果你相信 MS 的炒作, 视觉工作室2010 将大大增强 C++ 开发的能力,并包含许多在后续版本中丢失的 Visual Studio 6 功能。我个人认为 Visual Studio 6 是一个非常高效的 C++ 开发工具,以至于我仍然在我的大部分开发中使用它,并在 VS2008 下进行最终的编译和测试。我这样做的原因已在上一个问题中给出 这里

当前 VS6 用户在这里。今年我们即将过渡,但我今天仍在使用它。

我非常同意我在这里看到的说法。太糟糕了。

我在这里看到暗示但没有明确提及的一件事是,STL 的一些更有趣的功能在 VS6 中几乎无法使用。据我所知,这主要是因为编译器在计算隐含模板参数时遇到很多麻烦。例如,std::algorithm 中的几乎所有内容要么完全无法使用,要么需要大量显式实例化,以至于手工编写代码会更容易、更清晰。

Boost 可以对此提供一些帮助,但大量的 Boost 也将无法为您提供。:-(

我在中学时就在 MSVC++ 6 上自学了 C++。令我惊恐的是,我发现我现在的公司仍在使用它。我给我们带来了无尽的痛苦,主要是模板无法编译。我们遇到了严重的内部编译器错误。哦,mutable 关键字似乎不起作用。还有大量的标准合规性问题,其中一些非常严重,比如我最喜欢的:

for (int i = 0; i < 10; ++i)
{
     // do some stuff here
}

cout << i; // THIS COMPILES AND WORKS!  i is in the function scope, not the loop scope.

不久前,我在 MSVC++ 中发现了一个相当不错的错误和功能缺陷列表,试图说服我的老板离开...... 这是链接.

好吧,vs2005 及更高版本提供了符合标准的 c++ 和更好的 IDE(例如,我发现 intellisense 的 bug 少了一些)。

也就是说,如果标准合规性不困扰您,您只开发托管代码,并且您的项目非常面向 UI,您可能更喜欢 VC6(类向导在 vs2008 上很糟糕)。

就我个人而言,尽管类向导很差,我仍然会选择后来的 IDE。更好的源代码控制集成、使用第三方插件的能力等的好处仍然大于缺点。

不使用 Visual Studio 6 的另一个原因是许多开源库(例如 ACE 框架)不再支持它。另外,如果您使用 Visual Studio 6,您应该应用所有补丁,因为如果没有这些补丁,某些代码将无法编译。模板支持不是很好。

作为结论:我建议使用现代/更新的 C++ 编译器。

主要原因:vc++ 6 对标准的支持很差。因此,该编译器无法编译某些库。当您决定使用其他编译器进行编译时,您的项目将会遇到麻烦。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top