64-bittisen Windows-käyttöjärjestelmän kansio on selitetty

Sisällysluettelo:

64-bittisen Windows-käyttöjärjestelmän kansio on selitetty
64-bittisen Windows-käyttöjärjestelmän kansio on selitetty

Video: 64-bittisen Windows-käyttöjärjestelmän kansio on selitetty

Video: 64-bittisen Windows-käyttöjärjestelmän kansio on selitetty
Video: How to install Windows 11 over network - YouTube 2024, Huhtikuu
Anonim

Kun Windows 7: n 64-bittinen versio julkaistiin, Windows-hakemistossa normaaleissa kansioissa tapahtui pieni muutos. Kaksi uutta kansiota on mukana Windows 7: n, Windows 8: n ja Windows 10: n 64-bittisessä versiossa Sysnative ja SysWOW64 kansioita. Tämä on vain 64-bittisessä Windowsissa. Jos suoritat 32-bittisen Windowsin 64-bittisessä koneessa, et näe niitä. Etkä näe niitä, kun 32-bittisiä Windows-ohjelmistoja suoritetaan 32-bittisessä koneessa.

Windows-hakemiston ulkopuolella on toinen kansio, ja sitä kutsutaan Ohjelmatiedostot (x86). Käytämme kansiotiedostojen nimeä, jotka tallentavat ohjelmien suoritustiedostot. 64-bittisissä järjestelmissä 64-bittiset ohjelmat tallennetaan Program Files-kansioon, kun 32-bittiset ohjelmat sijaitsevat ohjelmatiedostoissa (x86). Windows käyttää kuitenkin emulointia 32-bittisten ohjelmien suorittamiseen 64-bittisessä koneessa. Siksi on tarpeen tietää ja ymmärtää, mitkä ovat järjestelmän kansiot Windowsissa (64-bittinen), jotta tiedät, miten pääset haluamaasi tiedostoon.

Toisin kuin 32-bittiset koneet, joissa 32-bittiset DLL-tiedostot on tallennettu System32-kansio, 64-bittinen Windows-versio tallentaa 64-bittisiin DLL-tiedostoihin System32-kansiossa. Tämä helpottaa ohjelmointityötä ja takaa yhteensopivuuden. Eli jos 64-bittinen ohjelma viittaa System32-koodiinsa, se saa 64-bittisen DLL: n automaattisesti kutsuttuaan. Tämä auttaa kehittäjiä, koska heidän ei tarvitse muuttaa koodia Windows 64-bittisissä ohjelmissaan.

Lyhyesti sanottuna Windows siirsi kaikki 32-bittiset DLL-tiedostot System32-kansioista Windows-hakemistoon toiseen kansioon, jotta aiempia ohjelmia ei tarvitsisi koodata, jotta ne saisivat oikeat DLL-osoitteet jopa sovellusrajapintoja käytettäessä - päivityksen jälkeen 64-bittiseksi. Ongelma ilmenee, kun 32-bittinen sovellus yrittää käyttää System32-kansiota. Tässä tapauksessa ohjelma kaatuu, koska sitä ei ole kirjoitettu käsittelemään 64-bittisiä DLL-tiedostoja.

SysWOW64-kansio 64-bittisessä Windowsissa

Kaikki 32-bittiset DLL-tiedot on siirretty uuteen SysWOW64-kansio 64-bittisessä Windows 7-, Windows 8- ja Windows 10 -versiossa, joten kun 32-bittiset ohjelmat vaativat 32-bittisiä DLL-tiedostoja, niiden on päästävä SysWOW64-kansioon.

Saatat tuntea, että kehittäjät joutuvat skannaamaan ohjelmiaan ja sovelluksiaan osoittamaan DLL-toiminnot SysWOW64-kansioon. Mutta Microsoft on jo huolehtinut siitä. Jos se on 32-bittinen ohjelma, joka soittaa C: Windows System32, emulaattori ohjaa polun uudelleen C: Windows SysWOW64. Toisin sanoen 32-bittisten ohjelmien suorittaminen 64-bittisessä Windowsissa käytetään emulaattoria, joten on olemassa oikea taaksepäin yhteensopivuus ja virheiden välttäminen DLL-tiedostoja kutsettaessa.

Sysnatiivinen kansio Windows 64-bitissa

Image
Image

On mahdollista, että 32-bittinen ohjelma tai sovellus todella tarvitsee 64-bittisen DLL: n. Tällöin sinun on käytettävä uudelleenohjauskansiota Sysnative. SysNative voi olla virtuaalinen kansio ja alias, joka viittaa System32-kansioon. Se ei ole fyysisesti järjestelmässäsi sinällään. Joten jos 32-bittinen ohjelma tarvitsee 64-bittisen DLL: n, älä käytä C: Windows System32 koska 32-bittinen ohjelmaemulaattori vie sen 32-bittiseen DLL-kansioon nimeltä SysWOW64. Sen sijaan käytä C: Windows SysNative kuten polku DLL-ohjelmaan. Sysnatiiven käyttäminen polussa ohjaa sen System32-kansioon SysWOW64-kansion sijaan.

Jos avaat Tiedostojen Windows Explorer, et löydä Sysnative-kansiota C: Windowsissa. Vaikka asetat kansioasetukset näyttämään piilotetut ja järjestelmäkansiot. Tämä johtuu siitä, että Windows File Explorer on 64-bittinen ohjelma, kun se suoritetaan 64-bittisessä Windowsissa ja Sysnative-kansio on näkyvissä ja käytettävissä vain 32-bittisissä ohjelmissa.

Yhteenvetona:

  1. System32-kansiot sisältävät 64-bittisiä DLL-tiedostoja.
  2. SysWOW64 sisältää 32-bittiset DLL-tiedostot, ja 32-bittiset ohjelmat ohjataan automaattisesti tähän kansioon
  3. Sysnative on uudelleenohjauskansi, jonka avulla 32-bittiset ohjelmat voivat soittaa 64-bittisiin DLL-tiedostoihin.

Lisähuomioita: MSDN.

Suositeltava: