【问题标题】:Can I make C++ in Visual Studio 2008 behave like an earlier version?我可以让 Visual Studio 2008 中的 C++ 表现得像早期版本吗?
【发布时间】:2009-07-01 23:54:40
【问题描述】:

我需要使用一些在 Visual C++ 6.0 中开发的旧 C++ 代码。现在它给了我大量的编译错误。 (例如,“无法打开包含文件:'iostream.h'”......因为现在它应该说 #include 而不是 #include i>)。

我怎样才能使用此代码而不必到处更改它?

【问题讨论】:

    标签: c++ visual-studio visual-c++


    【解决方案1】:

    问题是,VC6 非常非常糟糕。你只是摆脱了 vc6 中的那些编译器错误,因为 vc6 太松了。修复错误,你会很高兴你这样做了——我已经完成了两次转换,它使代码更安全。

    【讨论】:

      【解决方案2】:

      很遗憾,VS2008 中没有可让您执行此操作的定位功能。

      您只需要清理您的代码。幸运的是,VS2008 比旧版本的 Visual C++(尤其是 VC 6)更符合标准。清理代码应该会在未来有所帮助(您以后不必担心这一点),如果您决定移植到其他平台,也会有所帮助。

      【讨论】:

        【解决方案3】:

        正如其他人所提到的,改进代码以使用 VS 2008 将是一个值得练习的练习。

        如果这不是一个选项(即旧版应用程序损坏并且需要立即修复),您可以尝试创建一个安装了 VC 6 的虚拟机并使用它来编译应用程序。

        【讨论】:

        • 没有理由在 VM 中安装 VC6 - 它与 Visual Studio 的后续版本很好地共存。
        【解决方案4】:

        如果您正在寻找一种基本上会强制 Visual Studio 2005/2008 对 C++ 代码使用 VC6 编译器的开关,那么它不存在。

        有很多方法可以使用自定义 make 文件和大量骇客。我不知道有谁做到了这一点,但我相信只要做足够的工作就可以做到。

        但是,我同意此线程中的大多数其他人的观点。现在修复代码会为您提供更好的服务。您可能会花费与直接修复代码一样多的时间或更多时间来解决问题。

        【讨论】:

          【解决方案5】:

          您绝对应该修复代码。

          如果您做不到,并且您只有#include<iostream.h> 之类的问题,您也可以自己创建一个iostream.h 文件:

          #pragma once
          
          #pragma message("*********************************************")
          #pragma message("Do not use #include <iostream.h> in new code!")
          #pragma message("*********************************************")
          
          #include <iostream>
          
          using namespace std;
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-10-04
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多