2014-03-12 235 views
2

我有Windows 2003服務器,可執行文件建立在VC6上。我將需要檢查Windows 2008服務器上的可執行文件的兼容性(兩臺服務器都是32位)。我知道我需要檢查這兩個版本的ABI兼容性。Windows和ABI兼容性

如何確認任何兩個版本的操作系統的ABI兼容性?或者Windows是否將ABI兼容性作爲產品文檔的一部分發布?

除ABI兼容性外,還有其他一些考慮因素需要注意嗎?

回答

3

Windows在不同版本之間維護二進制ABI兼容性。這意味着程序不需要爲不同版本重新編譯。

但是,這還不足以保證程序可以在您尚未測試的版本上正確運行。可能出現的問題的一些示例:

  • 您使用的已棄用的API已在更高版本中刪除。
  • 您使用的API僅存在於更高版本的操作系統上,因此您的程序無法在舊版本上運行。
  • 操作系統改變了打破你的應用程序的功能。這個典型的例子是Vista中的UAC。 ABI沒有改變,但一些UAC之前的應用無法在UAC下正常運行。

底線是你需要理解二進制兼容性背後的理論。但是這並不能免除你測試的必要。確保您已在所有支持的系統上測試過您的程序。或者至少可以合理設法找到。

+0

您是不是要找 「*不*需要了解理論」? –

+0

@哈里我想我的意思是你確實需要知道原則和規則。但是你也需要測試。 –