有啥理由不使用 Visual Studio 6 for C++? [关闭]

Posted

技术标签:

【中文标题】有啥理由不使用 Visual Studio 6 for C++? [关闭]【英文标题】:Are there any reasons not to use Visual Studio 6 for C++? [closed]有什么理由不使用 Visual Studio 6 for C++? [关闭] 【发布时间】:2009-03-09 12:14:57 【问题描述】:

我有什么理由不应该使用 Visual Studio 6 进行 C++ 开发吗?

我在哪里可以找到一些资源,为什么这会或不会是一个好主意? 是否有任何问题清单?

【问题讨论】:

【参考方案1】:

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

    微软后来的编译器(尤其是 Visual Studio 2008)更符合 C++ 规范。 Microsoft 以后的编译器添加了更好的警告和错误。这些在查找代码的潜在安全问题时很有用。 不再受支持。较新版本的 Windows SDK 不适用于 Visual C++ 6,因此如果不做额外工作,您将无法使用 Windows 中的较新功能。

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

【讨论】:

Visual C++ Express 是免费下载的,其编译器与完整(付费)VS 2008 相同。 ...但与 VS 2008 Team Edition 不同的编译器,包括静态代码分析。 这是一个您仍然需要付费才能获得的工具。要查看 C++ 本身,Express 是查看 VS2008 是否满足您的需求的一种经济高效的方式。【参考方案2】:
    std::string 运行时中的多核/proc 问题,回复:KB813810 STL 支持不佳 标准 C++ 支持更差

别这样。

【讨论】:

【参考方案3】:

Visual Studio 6 很好,如果你想要一个快速、轻量级的环境和一个好的调试器。问题是它附带的 C++ 编译器,非常过时。作为一个快乐的 VC++ 6 用户多年后,我现在切换到Code::Blocks,它为您提供了一个类似的 IDE,但允许您使用最新的 g++ 编译器。

【讨论】:

G++ 编译器的优化远不如 VC++ 编译器。 有什么参考吗?在我的情况下,g++ 通常比 vc++ 编译器更快。 search SO,有一篇关于 VC v GCC 对 SSE 代码使用的优化的帖子/链接。 GCC 大大击败了 VC。当然,这个链接是关于较新的 VC 编译器的。【参考方案4】:

我认为 Visual Studio 在 C++ 开发中失宠的主要原因是它的时代。从那时起,编译器也得到了显着改进。

【讨论】:

【参考方案5】:

我在中学时在 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++ 中发现了一份相当不错的错误和错误功能列表,试图说服我的老板转行……here's the link。

【讨论】:

【参考方案6】:

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

中给出

【讨论】:

【参考方案7】:

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

我非常同意我在这里看到的内容。太烂了。

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

Boost 可以对此有所帮助,但您也无法使用大量 Boost。 :-(

【讨论】:

【参考方案8】:

好的,vs2005 及更高版本提供符合标准的 c++ 和更好的 IDE(例如,我发现智能感知的错误少一些)。

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

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

【讨论】:

【参考方案9】:

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

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

【讨论】:

【参考方案10】:

主要原因:vc++ 6 对标准的支持很差。 结果,该编译器无法编译某些库。 当您决定使用其他编译器进行编译时,您的项目将会出现问题。

【讨论】:

以上是关于有啥理由不使用 Visual Studio 6 for C++? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

使用Unity时打开C# 弹出opening visual studio一直停在这个界面是啥情况?有啥办法解决?

Visual Studio 2015 各个版本有啥区别

Visual Studio 和 Visual Studio Express 有啥区别?

Visual C++和Visual Studio有啥区别,大学生用哪个比较好?

当我在 Visual Studio 2010 中进行选项卡时,我不想要空格

Visual Studio 中的头文件、源文件和资源文件都是啥?有啥区别??