從過去的讀數看來似乎大多數 32位驅動程序將無法在64位上工作。爲什麼32位驅動程序不能在64位上工作
在純粹的概念層面上,我發現64位機器在使用32位驅動程序時有額外的「空間」,因此我試圖確定爲什麼他們最經常會使用而不是。 (我從用戶空間來)
我已閱讀this維基文章X86-64其中規定
push和pop堆棧上總是在8字節的進步,和指針8個字節寬。
我可以看到這可能是一個32位驅動程序可能在64位上失敗的原因,因爲它發出一個pop(),其中彈出的數據是驅動程序預期的兩倍。
我剛剛提到的可能完全不符合標準,因爲我是一個用戶空間的人,在這種情況下,或者其他方式,什麼是一些實際的例子(代碼或外行人的解釋)爲什麼32位驅動程序在運行時失敗在64位?
,所以驅動程序可能會要求一些內存分配,操作系統將返回一個地址,它(驅動程序)無法解決/指向? – wal 2011-06-10 14:52:36
@wal。是的,但更簡單的事情出錯了,如上所述。 – Roddy 2011-06-10 14:57:51