Теперь, когда я набираю cmd, я получаю cmd (32-битный).
Мне нужно получить CMD (64-бит)
64-разрядный cmd.exe
находится в C:\Windows\System32
В 64-битной Windows есть две разные версии папки программных файлов и системной папки Windows (системный каталог). Одна версия предназначена для 32-битных файлов, а другая версия предназначена для 64-битных файлов. Название этих папок и разрядность, для которой они предназначены, показаны в таблице ниже:
Ниже вы можете увидеть полный путь к папкам.
Папка 'System32' предназначена для 64-битных файлов, а папка 'SysWOW64' - для 32-битных файлов. Это может несколько запутать, но папка System32 предназначена для 64-битных файлов, а папка SysWOW64 - для 32-битных. файлы. Это может показаться немного нелогичным, если вы посмотрите на имена папок, но этому есть объяснение. Это связано с совместимостью.
Многие разработчики жестко закодировали путь к системной папке в исходном коде своих приложений. Они включили "System32" в путь к папке. И для сохранения совместимости, если приложение преобразуется в 64-разрядный код, 64-разрядная системная папка по-прежнему называется System32.
Но как насчет 32-разрядных приложений, которые имеют жестко запрограммированный системный путь и работают в 64-разрядной Windows? Можно подумать, как они могут найти новую папку SysWOW64 без изменений в программном коде.
Ответ заключается в том, что эмулятор перенаправляет вызовы в папку System32 в папку SysWOW64, поэтому даже если папка жестко запрограммирована в папке System32 (например, C:\Windows\System32), эмулятор будет гарантировать, что вместо нее используется папка SysWOW64. ,
Таким образом, один и тот же исходный код, содержащий путь с включенной папкой System32, может быть скомпилирован как в 32-битный, так и в 64-битный программный код без каких-либо изменений.
64-битная версия Windows: объяснение папок «Program Files (x86)» и «SysWOW64»