64-bit

Sysnative mappe i Windows 64-bit forklart

Sysnative mappe i Windows 64-bit forklart

Med utgivelsen av Windows 7 på 64-bits ble det innført en liten endring i den normale tildelingen av mapper i Windows-katalogen. To nye mapper er inkludert i 64-biters utgaven av Windows 10, Windows 8 og Windows 70. De er Sysnative og SysWOW64 mapper. Dette er bare i 64-biters Windows. Hvis du kjører et 32-biters Windows på en 64-biters maskin, ser du dem ikke. Du vil heller ikke se dem når du kjører 32-biters Windows på en 32-bits maskin.

Det er en annen mappe utenfor Windows-katalogen, og den heter Programfiler (x86). Vi er vant til navnet på mappen Program Files som inneholder kjørbare filer for programmene våre. I 64-biters systemer lagres 64-bits programmene i Program Files-mappen mens 32-biters programmene ligger i Program Files (x86). Imidlertid bruker Windows noe som en emulering for å kjøre 32-biters programmer på en 64-biters maskin. Og derfor er det et behov for å vite og forstå hva som er systemmappene under Windows (64 bit), slik at du vet hvordan du kommer til filen du vil ha.

I motsetning til 32-biters maskiner, der 32-biters DLL er lagret i System32-mappen, 64-bitersversjonen av Windows lagrer DLL-filer relatert til 64-bits i System32-mappen. Dette er for å lette programmeringsformålet og for å gi bakoverkompatibilitet. Det vil si at hvis et 64-biters program refererer til System32 i koden, vil det automatisk få 64-biters DLL når det blir ringt. Dette hjelper utviklere da de ikke trenger å endre koden i programmene sine for Windows 64-bit.

Kort fortalt flyttet Windows alle 32-biters DLL-filer fra System32-mappen i Windows-katalogen til en annen mappe, slik at tidligere programmer ikke trenger å bli kodet for å få de riktige DLL-ene, selv når du bruker APIer - etter oppgradering til 64-bit. Problemet oppstår når et 32-bits program prøver å få tilgang til System32-mappen. I dette tilfellet vil programmet krasje, da det ikke er skrevet for å håndtere 64-biters DLL-filer.

Lese: Hva er Panther-mappen?

SysWOW64-mappe i Windows 64-bit

Alle 32-biters DLL er flyttet til den nye SysWOW64-mappe i 64-bitersversjonen av Windows 10, Windows 8 og Windows 7, så når 32-bitersprogrammene påkaller 32-biters DLL-filer, må de nå SysWOW64-mappen.

Du kan føle at utviklerne må skanne programmene og programmene for å peke DLL-funksjonene til SysWOW64-mappen. Men Microsoft har allerede tatt vare på det. Hvis det er et 32-biters program som ringer C: \ Windows \ System32, en emulator vil omdirigere banen til C: \ Windows \ SysWOW64. Det vil si at for å kjøre 32-biters programmer i Windows 64-bit, brukes en emulator, slik at det er riktig bakoverkompatibilitet og for å unngå feil når du ringer til DLL-filer.

Lese: Hva er Funnet.000 mappe?

Sysnative mappe i Windows 64-bit

Det kan være tilfeller der et 32-biters program eller program kan trenge en 64-biters DLL. I så fall må du bruke omadresseringsmappen Sysnative. Du kan betrakte SysNative som en virtuell mappe og et alias som peker til System32-mappen. Det eksisterer ikke fysisk på systemet ditt, som sådan.

Så hvis 32-bitersprogrammet ditt trenger tilgang til en 64-biters DLL, ikke bruk det C: \ Windows \ System32 fordi 32-biters programemulatoren tar den til 32-biters DLL-mappe som heter SysWOW64. Bruk i stedet C: \ Windows \ SysNative som stien til DLL-programmet. Ved å bruke Sysnative i banen omdirigeres den til System32-mappen i stedet for SysWOW64-mappen.

Hvis du åpner File Windows Explorer, finner du ikke Sysnative-mappen i C: \ Windows. Selv om du angir mappealternativer for å vise skjulte mapper og systemmapper. Windows File Explorer er et 64-biters program når det kjøres i et 64-biters Windows, og Sysnative-mappen er kun synlig og tilgjengelig fra 32-biters programmer.

Å oppsummere:

  1. System32-mapper inneholder 64-biters DLL-filer.
  2. SysWOW64 inneholder 32-biters DLL-filer, og 32-biters programmene blir automatisk omdirigert til denne mappen
  3. Sysnative er en omdirigeringsmappe som lar 32-biters programmer kalle 64-biters DLL-filer.

Ytterligere lesing: MSDN.

Vil du vite forskjellen mellom System32 og SysWOW64 mapper?

Kjemp om Wesnoth-opplæringen
Kampen om Wesnoth er et av de mest populære open source-strategispillene du kan spille på dette tidspunktet. Ikke bare har dette spillet vært i utvikl...
0 A.D. Opplæringen
Ut av de mange strategispillene der ute, 0 A.D. klarer å skille seg ut som en omfattende tittel og et veldig dypt, taktisk spill til tross for å være ...
Unity3D opplæring
Introduksjon til Unity 3D Unity 3D er en kraftig spillutviklingsmotor. Det er kryssplattform, det er det lar deg lage spill for mobil, web, stasjonær ...