почему 32-битные драйверы не работают в 64-битной версии

Из прошлых данных кажется, что большинство 32-битных драйверов выиграли не работает на 64-битной версии.

На чисто концептуальном уровне я считаю, что 64-битная машина имеет дополнительное «пространство» при использовании 32-битных драйверов, поэтому я пытаюсь определить, почему чаще всего они не Работа. (я иду из пользовательского пространства)

Я прочитал эту вики-статью о x86-64, в которой говорится, что

Push и pop в стеке всегда делаются 8-байтовыми шагами, а указатели - 8

Я вижу, что это, возможно, причина того, что 32-битный драйвер может выйти из строя на 64-битном, поскольку он выдает pop (), который выводит вдвое больше данных, чем ожидал драйвер.

То, что я только что упомянул, может быть полностью отключено. отметка, поскольку я занимаюсь пользовательским пространством, и в этом случае или иначе, каковы некоторые практические примеры (объяснение кода или непрофессионала) того, почему 32-разрядные драйверы не работают при работе на 64-разрядных?

7
задан wal 10 June 2011 в 14:42
поделиться