2011-03-31 64 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是關於保持向後兼容性非常好。你將不得不看看到底是什麼阻止了它。