有什么理由不使用 Visual Studio 6 for C++?[关闭]
题
我是否有任何理由不应该使用 Visual Studio 6 进行 C++ 开发?
- 我在哪里可以找到一些资源,为什么这会是一个好主意,或者不是一个好主意?
- 有没有我会遇到的问题清单?
解决方案
std::string
运行时中的多核/进程问题,回复: KB813810- STL 支持不佳
- 标准 C++ 支持更差
不要这样做。
其他提示
我不会说 Visual Studio 6 “永远”不应该用于 C++ 开发。我想说它应该“不再”用于 C++ 开发。理由:
- Microsoft 的后续编译器(特别是 Visual Studio 2008)更加符合 C++ 规范。
- 微软后来的编译器添加了更好的警告和错误。当寻找代码的潜在安全问题时,这些非常有用。
- 不再支持。较新版本的 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++ 开发青睐的主要原因是它的年龄。从那时起,编译器也得到了显着改进。
当前 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 对标准的支持很差。因此,该编译器无法编译某些库。当您决定使用其他编译器进行编译时,您的项目将会遇到麻烦。