64-битный

Объяснение Sysnative для 64-разрядной версии Windows

Объяснение Sysnative для 64-разрядной версии Windows

С выпуском 64-разрядной версии Windows 7 было внесено небольшое изменение в нормальное размещение папок в каталоге Windows. Две новые папки включены в 64-разрядную версию Windows 10, Windows 8 и Windows 70. Они есть Sysnative а также SysWOW64 папки. Это только в 64-битной Windows. Если вы запустите 32-битную Windows на 64-битной машине, вы их не увидите. Вы также не увидите их при запуске 32-битной Windows на 32-битной машине.

За пределами каталога Windows есть еще одна папка, она называется Программные файлы (x86). Мы привыкли к названию папки Program Files, в которой находятся исполняемые файлы наших программ. В 64-битных системах 64-битные программы хранятся в папке Program Files, а 32-битные программы - в Program Files (x86). Однако Windows использует что-то вроде эмуляции для запуска 32-битных программ на 64-битной машине. И, следовательно, необходимо знать и понимать, какие системные папки находятся в Windows (64-разрядная версия), чтобы вы знали, как добраться до нужного файла.

В отличие от 32-битных машин, где 32-битные библиотеки DLL хранятся в Папка System32, 64-битная версия Windows хранит библиотеки DLL, относящиеся к 64-битным, в папке System32. Это сделано для упрощения программирования и обеспечения обратной совместимости. То есть, если 64-битная программа ссылается на System32 в своем коде, она автоматически получит 64-битную DLL при вызове. Это помогает разработчикам, поскольку им не нужно менять код в своих программах для 64-разрядной версии Windows.

Короче говоря, Windows переместила все 32-разрядные библиотеки DLL из папки System32 в каталоге Windows в какую-то другую папку, так что предыдущие программы не нужно было перекодировать для получения правильных библиотек DLL даже при использовании API - после обновления до 64-разрядной версии. Проблема возникает, когда 32-разрядное приложение пытается получить доступ к папке System32. В этом случае программа выйдет из строя, поскольку она написана не для обработки 64-битных DLL.

Читать: Что такое папка "Пантера"?

Папка SysWOW64 в 64-битной Windows

Все 32-битные библиотеки DLL перенесены в новую Папка SysWOW64 в 64-битной версии Windows 10, Windows 8 и Windows 7, поэтому, когда 32-битные программы вызывают 32-битные библиотеки DLL, они должны достичь папки SysWOW64.

Вы можете подумать, что разработчикам придется сканировать свои программы и приложения, чтобы указать функции DLL в папку SysWOW64. Но Microsoft уже позаботилась об этом. Если это 32-битная программа, которая вызывает C: \ Windows \ System32, эмулятор перенаправит путь к C: \ Windows \ SysWOW64. То есть для запуска 32-битных программ в 64-битной Windows используется эмулятор, чтобы обеспечить надлежащую обратную совместимость и избежать ошибок при вызове файлов DLL.

Читать: Что НАЙДЕНО.000 папка?

Sysnative Folder в Windows 64-бит

Могут быть случаи, когда 32-битной программе или приложению может потребоваться 64-битная DLL. В этом случае вам придется использовать папку перенаправления Родной. Вы можете рассматривать SysNative как виртуальную папку и псевдоним, указывающий на папку System32. Его физически не существует в вашей системе, как такового.

Поэтому, если вашей 32-битной программе требуется доступ к 64-битной DLL, не используйте C: \ Windows \ System32 потому что эмулятор 32-битной программы перенесет его в 32-битную папку DLL с именем SysWOW64. Вместо этого используйте C: \ Windows \ SysNative как путь к программе DLL. Использование Sysnative в пути перенаправит его в папку System32 вместо папки SysWOW64.

Если вы откроете проводник Windows, вы не найдете папку Sysnative в C: \ Windows. Даже если вы настроили параметры папки для отображения скрытых и системных папок. Это связано с тем, что Windows File Explorer является 64-битной программой при работе в 64-битной Windows, а папка Sysnative видна и доступна только из 32-битных программ.

Подводить итоги:

  1. Папки System32 содержат 64-битные файлы DLL.
  2. SysWOW64 содержит 32-битные файлы DLL, и 32-битные программы автоматически перенаправляются в эту папку
  3. Sysnative - это папка перенаправления, которая позволяет 32-битным программам вызывать 64-битные библиотеки DLL.

Дополнительное чтение: MSDN.

Хотите узнать разницу между папками System32 и SysWOW64?

Переназначьте кнопки мыши по-разному для разных программ с помощью X-Mouse Button Control
Может быть, вам нужен инструмент, который мог бы изменять управление вашей мышью с каждым приложением, которое вы используете. В этом случае вы можете...
Обзор беспроводной мыши Microsoft Sculpt Touch
Я недавно прочитал о Microsoft Sculpt Touch беспроводная мышь и решил ее купить. Побывав некоторое время, я решил поделиться своим опытом с ним. Эта б...
Экранный трекпад и указатель мыши AppyMouse для планшетов с Windows
Пользователи планшетов часто пропускают указатель мыши, особенно когда они привыкли пользоваться ноутбуками. Смартфоны и планшеты с сенсорным экраном ...