64 bites

Sysnative mappa a 64 bites Windows-ban

Sysnative mappa a 64 bites Windows-ban

A 64 bites Windows 7 kiadásával egy kis változás történt a mappák szokásos elosztásában a Windows könyvtárban. Két új mappa szerepel a Windows 10, a Windows 8 és a Windows 70 64 bites kiadásában. Ők Sysnative és SysWOW64 mappák. Ez csak a 64 bites Windows rendszerben van. Ha 32 bites Windows rendszert futtat 64 bites gépen, akkor nem fogja látni őket. Akkor sem fogja látni őket, ha 32 bites Windows rendszert futtat 32 bites gépen.

Van egy másik mappa a Windows könyvtáron kívül, és hívják Programfájlok (x86). Megszoktuk a Program Files mappa nevét, amely a programjaink futtatható fájljait tartalmazza. 64 bites rendszerekben a 64 bites programokat a Program Files mappában, míg a 32 bites programokat a Program Files (x86) tárolja. A Windows azonban valami emulációt használ a 32 bites programok futtatásához 64 bites gépen. Ezért tudni kell és meg kell érteni, hogy mik a rendszer mappái a Windows alatt (64 bites), hogy tudják, hogyan lehet elérni a kívánt fájlt.

Ellentétben a 32 bites gépekkel, ahol a 32 bites DLL fájlok a System32 mappa, a Windows 64 bites verziója a 64 bites fájlokkal kapcsolatos DLL-eket a System32 mappában tárolja. Ennek célja a programozási célok megkönnyítése és a visszamenőleges kompatibilitás biztosítása. Vagyis ha egy 64 bites program a System32-re hivatkozik a kódjában, akkor a meghíváskor automatikusan megkapja a 64 bites DLL-t. Ez segít a fejlesztőknek, mivel nem kell megváltoztatniuk a kódot a 64 bites Windows-os programjaikban.

Röviden: a Windows az összes 32 bites DLL-t áthelyezte a Windows könyvtár System32 mappájából egy másik mappába, így a korábbi programokat nem kell átkódolni ahhoz, hogy még a API-k használata esetén is megszerezzék a megfelelő DLL-eket - a 64 bitesre történő frissítés után. A probléma akkor fordul elő, amikor egy 32 bites alkalmazás megpróbálja elérni a System32 mappát. Ebben az esetben a program összeomlik, mivel nincs megírva 64 bites DLL-ek kezelésére.

Olvas: Mi a Panther mappa?

SysWOW64 mappa 64 bites Windows rendszerben

Az összes 32 bites DLL-t áthelyezték az újba SysWOW64 mappa a Windows 10, Windows 8 és Windows 7 64 bites verziójában, tehát amikor a 32 bites programok 32 bites DLL-eket hívnak meg, el kell érniük a SysWOW64 mappát.

Úgy érezheti, hogy a fejlesztőknek be kell vizsgálniuk programjaikat és alkalmazásukat, hogy a DLL funkciókat a SysWOW64 mappába mutassák. De a Microsoft már gondoskodott róla. Ha egy 32 bites program hív C: \ Windows \ System32, egy emulátor átirányítja az elérési utat C: \ Windows \ SysWOW64. Vagyis 32 bites programok futtatásához 64 bites Windows rendszerben emulátort használnak, hogy megfelelő visszamenőleges kompatibilitás álljon fenn, és elkerüljék a hibákat a DLL fájlok hívásakor.

Olvas: Mi a TALÁLT.000 mappa?

Sysnative mappa 64 bites Windows rendszerben

Előfordulhat, hogy egy 32 bites programhoz vagy alkalmazáshoz 64 bites DLL szükséges. Ebben az esetben az átirányítási mappát kell használnia Sysnative. A SysNative virtuális mappának és aliasnak tekinthető, amely a System32 mappára mutat. Fizikailag nem létezik a rendszerén, mint ilyen.

Tehát, ha 32 bites programjának 64 bites DLL-hez kell hozzáférnie, ne használja C: \ Windows \ System32 mert a 32 bites programemulátor elviszi a SysWOW64 nevű 32 bites DLL mappába. Ehelyett használja C: \ Windows \ SysNative mint a DLL program elérési útja. Ha a Sysnative programot az útvonalon használja, akkor az a System32 mappába irányítja át a SysWOW64 mappa helyett.

Ha megnyitja a File Windows Intézőt, nem találja a Sysnative mappát a C: \ Windows fájlban. Még akkor is, ha a Mappabeállítások beállítást választja a rejtett és a rendszermappák megjelenítésére. Ez azért van, mert a Windows File Explorer egy 64 bites program, amikor 64 bites Windows rendszerben fut, és a Sysnative mappa csak a 32 bites programokból látható és elérhető.

Összefoglalva:

  1. A System32 mappák 64 bites DLL fájlokat tartalmaznak.
  2. A SysWOW64 32 bites DLL fájlokat tartalmaz, és a 32 bites programokat automatikusan átirányítják erre a mappára
  3. A Sysnative egy átirányítási mappa, amely lehetővé teszi a 32 bites programok számára a 64 bites DLL-ek meghívását.

További olvasmány: MSDN.

Szeretné tudni, mi a különbség a System32 és a SysWOW64 mappák között?

Az egér középső gombja nem működik a Windows 10 rendszerben
A középső egérgomb segít átgörgetni a hosszú weboldalakat és a sok adatot tartalmazó képernyőket. Ha ez leáll, akkor a billentyűzet segítségével görge...
Hogyan lehet megváltoztatni a bal és jobb egérgombokat a Windows 10 PC-n
Elég általános, hogy az összes számítógépes egéreszközt ergonómikusan a jobbkezes felhasználók számára tervezték. De vannak olyan egéreszközök, amelye...
Az egérkattintások emulálása az egérrel a Clickless Mouse használatával a Windows 10 rendszerben
Ha az egeret vagy a billentyűzetet nem megfelelő testtartásban, túlzott használat mellett használhatja, számos egészségügyi problémát okozhat, beleért...