MS VS C ++ 6.0和MSVS C ++ 2008有哪些优缺点?
提出这样一个问题的主要原因是仍有许多不错的程序员喜欢使用旧版本而不是最新版本。
是否有任何理由可能更喜欢旧版本而不是新版本?
答案 0 :(得分:27)
Visual Studio 2008优于Visual C ++ 6.0的优点:
迁移到Visual Studio 2008的缺点:
根据Joel最近blog post的精神,我将其他一些答案合并到一个答案中(并将其作为社区拥有的帖子,因此我不会从中获得代表)。我希望你不介意。非常感谢Laur,NeARAZ,26 of 17,me.yahoo.com以及其他所有回答的人。 - ChrisN
答案 1 :(得分:4)
嗯,首先可能是因为使用MSVS 6构建的可执行文件只需要msvcrt.dll(C运行时),现在它随Windows一起提供。
MSVS 2008可执行文件需要msvcrt9随附(或已安装)。
另外,您已经为6.0 C运行时的Windows 32位编译了许多OSS库,而对于2008 C运行时,您必须自己获取源代码并自行编译。
(大多数这些库实际上是用MinGW编译的,它也使用了6.0 C运行时 - 这可能是另一个原因。)
答案 2 :(得分:4)
我想补充一点,使用Visual C ++ 2008开发的应用程序不一定需要比使用Visual C ++ 6.0开发的应用程序更多的DLL。这只是默认的项目配置。
如果您进入项目属性,C / C ++,代码生成,然后将运行时库从多线程DLL和多线程调试DLL(发布和调试配置)更改为多线程和多线程调试,您的应用程序应该具有更少的依赖关系。
答案 3 :(得分:3)
在我的脑海中,新Visual Studio的优点是:
缺点:
答案 4 :(得分:1)
除了上面提到的部署,MSVC 6.0的主要优点是速度。因为它是一个已有10年历史的IDE,在现代计算机上感觉非常快。较新版本的Visual Studio提供了更多高级功能,但它们需要付出代价(复杂性和速度较慢)。
但MSVC 6.0的最大缺点是其不兼容的C ++ - 编译器和库。如果你打算做严肃的C ++ - 编程这是一个显示阻止。如果你只构建MFC-Applications,那可能不是什么大问题。
答案 5 :(得分:1)
Visual C ++ 6.0与内存跟踪工具(如Purify,HeapAgent,BoundsChecker和MemCheck)完全集成,因为在Visual C ++ 6.0发布后,这些内存跟踪工具得到了积极维护和积极销售。
然而,由于C ++已经暂时不流行,销售内存跟踪工具的公司仍在销售它们但从未更新或集成它们与新的Visual C ++版本,包括Visual Studio 2008.所以,使用内存跟踪工具Visual Studio 2008令人沮丧,错误,并且在某些情况下是不可能的。
答案 6 :(得分:1)
由于VC6大部分Visual Studio的焦点都集中在C#和.NET以及其他功能上,所以一些C ++老用户认为VC6是过去的好时光。从那时起,Visual Studio for C ++开发人员的工作有所改进,但并不像.NET用户那样显着。
VS2008明显优于VC6的一种方式是它可以并行构建C ++项目。即使在单个CPU系统上,这也可以显着加快构建速度,但尤其是如果您有多个核心。
答案 7 :(得分:1)
您是否知道MS VC6的STL实现不是线程安全的?特别是,即使使用多线程库编译,basic_string中的引用计数优化也会爆炸。 http://support.microsoft.com/kb/813810
答案 8 :(得分:1)
如果安装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
答案 9 :(得分:0)
Visual C ++ 2008更符合标准(Visual Studio 6不支持1998年的C ++标准集)。
答案 10 :(得分:0)
VS2008具有更好的编译器(更符合标准,更好的优化......)。
VS6拥有更快的IDE。 VS2008 IDE有许多不错的功能,但它比VS6慢。
答案 11 :(得分:0)
您将看到从6.0到2008的快速改进列表:
人们有时会忘记的一件事是VS 6.0已经超过10年了!在这一点上,我看不出有人想要坚持下去。
答案 12 :(得分:0)
我们遇到的一件困难事情就是“价值”成了关键词。
答案 13 :(得分:0)
sometemplate<othertemplate<t>>
无效,但sometemplate< othertemplate<t>
&gt;正在工作)有时在VS6中开发感觉就像试图让网站在Internet Explorer 5.5中看起来更好看