Подтвердить что ты не робот

Использует ли 64-разрядная Windows KERNEL64?

Я смотрел на некоторые библиотеки с dumpbin, и я заметил, что все 64-битные версии были связаны с KERNEL32. Нет ли KERNEL64 в 64-битной Windows? Если нет, то почему?

Все мои операционные системы 32-битные, поэтому я не могу просто посмотреть. Поиск Google не вызывает ничего полезного, поэтому я подозреваю, что нет KERNEL64, но мне все еще интересно, почему это так.

EDIT: Я нашел это позже, что очень полезно. Руководство по MSDN для x64

4b9b3361

Ответ 1

Он всегда называется kernel32.dll, даже в 64-битных окнах. Это связано с теми же соображениями совместимости, что system32 содержит 64-битные двоичные файлы, а syswow64 содержит 32-разрядные двоичные файлы.

Ответ 2

В 64-разрядных версиях Windows один из "kernel32.dll" содержит 64-битный код, но по-прежнему называется kernel32.dll. Это, по крайней мере, вводит в заблуждение

Надеемся, что следующие ссылки предоставят решение для этого

http://www.howzatt.demon.co.uk/articles/DebuggingInWin64.html

http://www.viva64.com/en/l/0002/

http://blogs.msdn.com/b/aaron_margosis/archive/2012/12/10/using-ntfs-junctions-to-fix-application-compatibility-issues-on-64-bit-editions-of-windows.aspx

64-битная Windows предоставляет такую ​​среду "из коробки" и поддерживает 32-разрядные приложения, используя подсистему Windows под Windows 64, сокращенно WOW64, которая работает в пользовательском режиме и отображает 32-битные вызовы на ядро операционной системы в эквивалентный 64-битный вызов. Обычно это почти незаметно для вызывающей программы. Windows предоставляет набор 64-разрядных DLL в% windir%\system32 и эквивалентный набор 32-разрядных DLL в% windir%\syswow64. Фактически основная часть двоичных изображений в этом каталоге идентична тем же файлам в каталоге system32 при 32-разрядной установке Windows. (Мне кажется неудачной проблемой именования, что 64-разрядные библиотеки DLL живут в system32, а 32-разрядные - в syswow64, но там есть)