开发者

Converting legacy app to current VS and Windows-7

I have limited knowledge of C++ (so far). Done some modifications on existing software, but that's it for now. Usually I am working with other programming languages.

My task is to take a legacy app written in C++ / Win32 / MFC / Visual Studio 2003 and get it "up to date".

"Up to date" means:

  • it should be Windows-7 compatible
  • it should still run on Windows XP
  • probably not possible: it should still run o开发者_运维知识库n Windows 2000 ?

Since time is limited as usual, I am interested in solutions that achieve these goals with fewest possible modifications on the code base.

Right now, the app runs on Windows 7 only if started in compatibility mode for Windows XP.

I could imagine that VS2003 is not able to satisfy Windows-7 compatibility.

Do I need VS2010 or would VS2008 suffice (that is available already) ?


  1. MS works very hard to be backward compatible from what I know. Try check if it doesn't just work - if code was written correctly (i.e. did not depend on quirks, undocumented functions etc.) it should work. Well - from your post I assume it doesn't so goto 2.
  2. If it does not work. Try compile. Remove any warning and/or error that appeared. Probably with warnings set on maximum level.
  3. Find out where it does not work (does it crashes? where? etc.). Use debugger. Checks what's wrong. This will either help you with next 2 steps or you may go straight to solving problem if you know what it is.
  4. If it does not work check code for any undocumented functions etc. and replace them with well-documented ones. That step is good ot perform even without any problems for future compatibility.
  5. Check code for documented functions that changed some parameters (that will be in MSDN documentation).


There is nothing about vs2003 that stops an app running on win7. VS2008 has much better C++ standard and VS2010 adds a few nice editing features

There is no obvious reason why it shouldn't work, MSFT is very good about keeping backward compatibility. You will have to look at exactly what is stopping it.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜