2011-03-31 52 views
2

我对C++的知识有限(迄今为止)。对现有软件进行一些修改,但现在就是这样。通常我正在使用其他编程语言。将传统应用程序转换为当前VS和Windows-7

我的任务是把写在C++/Win32的/ MFC/Visual Studio 2003中的遗留应用程序,并把它“最新”。

“到目前为止” 是指:

  • 它应该是Windows的7兼容
  • 应该仍然运行在Windows XP
  • 大概不可能的:它仍然应该在Windows 2000上运行?

由于时间有限,像往常一样,我感兴趣的解决方案,以尽可能少的代码修改实现这些目标。

现在,应用程序在Windows 7上运行,只有在启动Windows XP的兼容模式。

我可以想像,VS2003无法满足Windows的7的兼容性。

我需要VS2010或VS2008将足矣(可用的话)?

+1

作为@马丁贝克特说,VS2003不是什么导致兼容性问题 - 我有代码编译与VS 6在Win7下运行良好。你可以尝试使用VS 2008打开解决方案,看看它说了什么 - 它可能在转换过程中标记问题,或者你可能(例如)在编译过程中得到警告,指出问题。然后再次,你可能不得不手动追踪它... – 2011-03-31 16:38:53

回答

2
  1. MS的作品很难向后兼容从我所知道的。尝试检查它是否不工作 - 如果代码编写正确(即不依赖怪癖,未记录的函数等),它应该工作。那么 - 从你的文章,我认为它不会那么转到2.
  2. 如果它不起作用。尝试编译。删除出现的任何警告和/或错误。可能会将警告设置为最高级别。
  3. 找出它不起作用的地方(它崩溃了吗?在哪里等)。使用调试器。检查什么是错的。这将帮助你接下来的2个步骤,或者你可以直接去解决问题,如果你知道它是什么。
  4. 如果不起作用,请检查任何未公开的功能等的代码,并将其替换为记录良好的功能。即使没有任何问题,该步骤也不会影响未来的兼容性。
  5. 检查更改了某些参数(将在MSDN文档中)的文档化函数的代码。
2

vs2003没有什么能够阻止运行在win7上的应用程序。 VS2008具有更好的C++标准和VS2010增加了一些不错的编辑功能

没有明显的理由不应该工作,MSFT是关于保持向后兼容性非常好。你将不得不看看到底是什么阻止了它。

相关问题