精華區beta Programming 關於我們 聯絡資訊
※ 引述《leicheong.bbs@bbs.sayya.org (理昌)》之銘言: : ※ 引述《GP03.bbs@aeug.twbbs.org (Gundam Pilot)》之銘言: : > 第四代API WinFX聽過了嗎? : 嗯, 那Wow64聽過嗎? : 還有你確定你知道Win32API的定義嗎? 還有知道Windows API的 : 演化史嗎(16->32位元, ANSI->Unicode)? 知道的話就應該明白 : 絕大部份Win32的API都必定會順利過渡到64位元平台的. : "三大DLL"內的API是Windows的基礎, 如果某一天Windows不支援 : 的話, 大概「所有」非VM環境下跑的、目前的程式都不能執行 : 吧. : 新的東西不一定都是為了取代現有的東西的. Agree. 基本上要維持這個支援.. 並不是什麼難事 因為.. 所謂的 Win32 API 並非真正的底層 舉個例.. 當我們用 kernel32.dll 裡的 Sleep() 時 可知道它其實是去 call SleepEx(), 而 SleepEx() 內 call 的是 ntdll.dll 裡的 ZwDelayExecution()? (well, 這還沒到底喔) 除非處理器真的拿掉對 32-bit instructions 的支援.. (連 Intel 都知道 IA-64 不切實際, 回頭來搞 EM64T 了) 否則 Wow64 做的事情, 也就只是把參數補成 64 bits, 然後用類似剛剛說的作法來 call 新的 service, 再把 return value 截成 32 bits. 對效能沒有什麼影響, 搞不好還會變快呢. 因此, 幾乎可以確定, 只要 x86-64 還是主流 (喔, 現在還不是 xD) 用 Win32 API 的 "一般應用程式" 是一定可以繼續用的. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.5.10