Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
来自Visual Studio C++;6.0比2008? 我在一家公司做VC6上的C++开发工作,我们正在考虑转到VS 2008。_C++_Visual Studio_Ide_Build - Fatal编程技术网

来自Visual Studio C++;6.0比2008? 我在一家公司做VC6上的C++开发工作,我们正在考虑转到VS 2008。

来自Visual Studio C++;6.0比2008? 我在一家公司做VC6上的C++开发工作,我们正在考虑转到VS 2008。,c++,visual-studio,ide,build,C++,Visual Studio,Ide,Build,升级的好处是什么 缺点是什么 关于迁移项目文件的任何指南/步骤,或者我应该注意的问题?对于我们来说,升级到2008的最大原因是C++编译器中的标准符合性。它比VC6有了很大的改进,能够使用您熟悉或想要使用的大多数库。包括STL、BOOST和TR1 缺点是升级的正常问题。例如,改进的标准遵从性意味着它可能会破坏某些依赖于非标准行为的代码。我想不出具体的例子,但我确信它们确实存在 有很多好处,其中包括一个非常成熟、先进和友好的环境。 除此之外,编译器已经改进,不用说,STL。。。 此外,网络上的所有

升级的好处是什么

缺点是什么


关于迁移项目文件的任何指南/步骤,或者我应该注意的问题?对于我们来说,升级到2008的最大原因是C++编译器中的标准符合性。它比VC6有了很大的改进,能够使用您熟悉或想要使用的大多数库。包括STL、BOOST和TR1


缺点是升级的正常问题。例如,改进的标准遵从性意味着它可能会破坏某些依赖于非标准行为的代码。我想不出具体的例子,但我确信它们确实存在

有很多好处,其中包括一个非常成熟、先进和友好的环境。 除此之外,编译器已经改进,不用说,STL。。。 此外,网络上的所有论坛,所有信息都可以通过最新版本的VS而不是旧版本访问。 缺点是没有向后兼容性。意思:一旦迁移,就无法在以前的版本中打开此项目。 由于编译器之间的差异,您可能会遇到一些编译问题。 您还可能遇到一些“包含”路径问题,因此您可能需要进行一些手动配置设置。
我极力推荐。加油

MFC和COM是完全支持的,至少在专业版中是这样。

其优点是:

  • 您将从一个有5年以上历史、模板支持差的编译器,转向一个更符合最新标准的编译器
  • 您将花费更少的时间调查编译问题,这些问题最终证明是编译器的已知问题,而不是代码的问题
  • 广泛使用的C++文献和文档将与编译器更为相关。
缺点是: -这可能需要一些时间,而这些时间可能会花费在为产品添加新功能等其他方面

移植中最大的问题可能是您拥有的任何代码都不符合VC6的要求,但VC6允许编译这些代码。此代码可能无法在VS2008上编译。我猜一些Win32 API可能也发生了变化,MFC和ATL类也是如此


了解问题大小的最简单方法是处理一个不依赖于其他VC项目的小项目。看看你会遇到多少错误以及修复它们需要多长时间。

很多人都提到了搬家的好处。我建议你采取行动,但以下是我发现的两个最大的烦恼:

  • 您需要一个项目文件来调试二进制文件。在VC6中,您只需将exe拖动到VC窗口并进行调试。在此后的每个版本中,您首先需要一个项目文件
  • 一切都是额外的鼠标点击了。很多菜单项都被移到了一个菜单级别,如果你像我一样是个鼠标迷,那就很烦人了

从长远来看:VC6是在2000年之前发布的。它瞄准了Windows98和NT4等全新的操作系统。到目前为止,这些操作系统已经退役。

支持。

“for”变量作用域和wchar\u t!=简而言之,我可以想到两个例子。我认为最大的变化是他们将默认的ARM(98年之前)规则转换为ISO(98年之后)规则。你仍然可以得到旧的行为(如果你真的想要它-不太难修复)使10年以上;是1997-98年的。Win32 API是SDK的一部分,而不是编译器。它们已经改变了。VC6提供的实际STL是从1996年开始的,最初由HP在1994年编写。MSalters-是的,我知道它们是SDK的一部分,但是如果你升级VC,你通常会升级SDK。