程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> Win98 is gone

Win98 is gone

編輯:.NET實例教程
Win98早已被MS拋棄,不過至少VC2005編譯的程序仍然可以在98下運行。但是如今, 隨著2008的發布,Win98終於完全被無視,悼念一下。

VC2005的時候,雖然官方沒有提供對Win98的正式支持,但是ANSI方式編譯的程序仍然可以正常運行。對於使用Unicode方式編譯的程序,相對而言麻煩一些。因為Win98本身對Unicode的支持很差,所以要借助Microsoft Unicode Layer提供的API。
你需要一些額外的工作確保unicows中的API被首先鏈接,同樣對於MFC中通過LoadLibrary+GetProcAddress動態加載的Unicode API,你也需要將它們改成從unicows.dll加載。
How to build the 8.0 MFC and the CRT DLLs with MSLU

記得2005剛發布時,我為了這個問題還專門在MSDN Forum上提問,其間得到了Ted的大力幫助,並且成功將2005Unicode方式編譯的程序移植到了Win98,想來頗有一番感慨。
Re: Visual Studio 2005 MFC Applications on Windows 98

現如今,VC2008生成的EXE會直接在PE的header中指定OSMajorVersion為5。換言之,它強制規定了程序只能在Win2000及以上的系統運行。雖然我們可以人肉把這個限制去掉,但是因為CRT和MFC庫在設計的時候不再考慮對Win98的向下兼容性,用到了一些Win2000以上才有的API(諸如GetFileSizeEx),想在Win98上運行這樣的程序就很困難了。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved