What are the differences between Visual C++ 6.0 and Visual C++ 2008?MS VS C ++ 6.0和MSVS C ++ 2008有哪些优缺点? 提出这样一个问题的主要原因是仍然有许多优秀的程序员喜欢使用旧版本而不是最新版本。 是否有任何理由可能更喜欢旧的而不是新的? Visual Studio 2008优于Visual C ++ 6.0的优点:
迁移到Visual Studio 2008的缺点:
根据Joel最近的博客文章的精神,我将其他一些答案合并到一个答案中(并将其作为一个社区拥有的帖子,因此我不会从中获得代表)。我希望你不介意。非常感谢Laur,NeARAZ,26 of 17,me.yahoo.com以及其他所有回答的人。 - 克里斯 我想补充一点,使用Visual C ++ 2008开发的应用程序不一定需要比使用Visual C ++ 6.0开发的应用程序更多的DLL。这只是默认的项目配置。 如果您进入项目属性,C / C ++,代码生成,然后将运行时库从多线程DLL和多线程调试DLL(发布和调试配置)更改为多线程和多线程调试,您的应用程序应该然后有更少的依赖。 好吧,首先可能是因为使用MSVS 6构建的可执行文件只需要msvcrt.dll(C运行时),现在它随Windows一起提供。 MSVS 2008可执行文件需要msvcrt9随附(或已安装)。 此外,您已经为6.0 C运行时的Windows 32位编译了许多OSS库,而对于2008 C运行时,您必须自己获取源代码并自行编译。 (大多数这些库实际上是用MinGW编译的,它也使用6.0 C运行时 - 这可能是另一个原因)。 在我的脑海中,新Visual Studio的优势在于:
缺点:
如果为VS6安装所有Service Pack,则仍然具有可靠的IDE /编译器组合。作为一个必须在野外(通过Internet)发布产品的软件开发人员,我不想每次都运送VC ++运行时和.NET框架(我不能将它们直接捆绑在我的安装程序/可执行文件中,Microsoft禁止它)。你知道,运行千字节代码的几兆字节运行时有点愚蠢。 VC ++ 6.0最多只需要你的可执行文件和2 .DLL。 此外,调试运行时无法与VC ++ .NET一起分发,当我有一个客户端需要对我的产品进行一些调试时,这不是很好:) 在我看来,我仍然使用VC ++ 6.0的主要原因,但IDE本身是丑陋的(即:没有标签支持)。我通常使用代码块来绕过IDE限制(CodeBlocks支持所有VC ++版本的CL.EXE / LINK.EXE) Cobolfoo
您是否知道MS VC6的STL实现不是线程安全的?特别是,即使使用多线程库编译,basic_string中的引用计数优化也会爆炸。 由于VC6 Visual Studio的大部分焦点都集中在C#和.NET以及其他功能上,因此一些C ++老用户将VC6视为过去的好时光。从那时起,Visual Studio for C ++开发人员的工作有所改进,但并不像.NET用户那样显着。 VS2008明显优于VC6的一种方法是它可以并行构建C ++项目。即使在单个CPU系统上,这也可以显着加快构建速度,但尤其是如果您有多个内核。 Visual C ++ 6.0与内存跟踪工具(如Purify,HeapAgent,BoundsChecker和MemCheck)完全集成,因为在Visual C ++ 6.0发布后,这些内存跟踪工具得到了积极维护和积极销售。 但是,由于C ++已经流行一段时间,销售内存跟踪工具的公司仍然销售它们但从未更新或集成它们与新的Visual C ++版本,包括Visual Studio 2008.因此,使用Visual Studio 2008的内存跟踪工具是令人沮丧的,错误的,在某些情况下是不可能的。 除了上面提到的部署,MSVC 6.0的主要优点是速度。因为它是一个已有10年历史的IDE,在现代计算机上感觉非常快。较新版本的Visual Studio提供了更多高级功能,但它们需要付出代价(复杂性和速度较慢)。 但MSVC 6.0的最大缺点是其不兼容的C ++ - 编译器和库。如果你打算做严肃的C ++ - 编程这是一个显示阻止。如果你只构建MFC-Applications,那可能不是什么大问题。 与2008年相比,Visual C ++ 6有时会出现问题。特别是有些事情:
有时在VS6中开发感觉就像试图让网站在Internet Explorer 5.5中看起来很好 我们遇到的一件困难事情就是"价值"成了关键词。 您将看到从6.0到2008的快速改进列表:
人们有时会忘记的一件事是VS 6.0已经超过10年了!在这一点上,我看不出有人会想要坚持下去。 VS2008具有更好的编译器(更符合标准,更好的优化......)。 VS6有更快的IDE。 VS2008 IDE有许多不错的功能,但它比VS6慢。 Visual C ++ 2008更符合标准(Visual Studio 6不支持1998年的C ++标准集)。 |