Hjemmeside » hvordan » Hvad er forskellen mellem Programfilerne (x86) og Programfilerne i Windows?

    Hvad er forskellen mellem Programfilerne (x86) og Programfilerne i Windows?

    Der er en god chance for at du har både mapperne "C: \ Program Files" og "C: \ Program Files (x86)" på din Windows-pc. Hvis du popper rundt, kan du se, at nogle af dine programmer er installeret i en mappe, og nogle er installeret i den anden.

    32-bit vs. 64-bit Windows

    Oprindeligt var Windows kun tilgængelig som et 32-bit operativsystem. På 32-bit versioner af Windows-selv 32-bit versioner af Windows 10, som stadig er tilgængelige i dag, vil du kun se en mappe "C: \ Program Files".

    Denne programfil mappe er det anbefalede sted, hvor programmer du installerer skal gemme deres eksekverbare data og andre filer. Med andre ord installerer programmerne til mappen Program Files.

    På 64-bit versioner af Windows installerer 64-bit applikationer til mappen Program Files. 64-bit versioner af Windows understøtter dog også 32-bit-programmer, og Microsoft ønsker ikke, at 32-bit og 64-bit software bliver blandet på samme sted. Så bliver 32-bit-programmer installeret i mappen "C: \ Program Files (x86)" i stedet.

    Windows kører 32-bit applikationer på 64-bit versioner af Windows ved hjælp af noget, der hedder WOW64, som står for "Windows 32-bit på Windows 64-bit."

    Når du kører et 32-bit program på en 64-bit udgave af Windows, omdirigerer WOW64-emuleringslaget omdirigent filadgangen fra "C: \ Program Files" til "C: \ Program Files (x86)." 32-bit programmet forsøger at få adgang til mappen Program Files og peger på mappen Program Files (x86). 64-bit-programmer bruger stadig den normale programfiler-mappe.

    Hvad er gemt i hver mappe

    Sammenfattende, i en 32-bit version af Windows har du bare en mappe "C: \ Program Files". Dette indeholder alle dine installerede programmer, som alle er 32-bit.

    På en 64-bit version af Windows gemmes 64-bit programmer i mappen "C: \ Program Files" og 32-bit programmer gemmes i mappen "C: \ Program Files (x86)".

    Derfor er forskellige programmer spredt over de to programfiler mapper, tilsyneladende tilfældigt. De i mappen "C: \ Program Files" er 64-bit, mens de i mappen "C: \ Program Files (x86)" er 32-bit.

    Hvorfor er de splittet op?

    Dette er en kompatibilitetsfunktion designet til gamle 32-bit-programmer. Disse 32-bit-programmer er muligvis ikke opmærksomme på, at der findes en 64-bit version af Windows, så Windows holder dem væk fra den 64-bit kode.

    32-bit-programmer kan ikke indlæse 64-bit biblioteker (DLL-filer) og kunne gå ned, hvis de forsøgte at indlæse en bestemt DLL-fil og fundet en 64-bit en i stedet for en 32-bit-en. Det samme gælder for 64-bit programmer. Ved at holde forskellige programfiler til forskellige CPU-arkitekturer adskiller sig forhindringer, som disse sker.

    Lad os f.eks. Sige, at Windows bare har brugt en enkelt programfilmappe. En 32-bit applikation kan måske lede efter en Microsoft Office DLL-fil fundet i C: \ Program Files \ Microsoft Office og forsøge at indlæse den. Men hvis du havde en 64-bit version af Microsoft Office installeret, ville applikationen kollidere og ikke fungere korrekt. Med de separate mapper vil denne applikation slet ikke kunne finde DLL'en, fordi 64-bit versionen af ​​Microsoft Office ville være hos C: \ Program Files \ Microsoft Office og 32-bit applikationen ville se i C : \ Programmer (x86) \ Microsoft Office.

    Dette hjælper også, når en udvikler opretter både 32-bit og 64-bit versioner af en applikation, især hvis begge skal installeres på én gang i nogle situationer. 32-bit versionen installeres automatisk til C: \ Program Files (x86), og 64-bit versionen installeres automatisk til C: \ Program Files. Hvis Windows brugte en enkelt mappe, skulle programmets udvikler skulle have 64-bit mappen installeret til en anden mappe for at holde dem adskilt. Og der ville sandsynligvis ikke være nogen reel standard for, hvor udviklere installerede forskellige versioner.

    Hvorfor er 32-bit-mappen navngivet (x86)?

    Du vil ikke altid se "32-bit" og "64-bit." I stedet ser du undertiden "x86" og "x64" for at henvise til disse to forskellige arkitekturer. Det skyldes, at tidlige computere brugte Intel 8086 chip. De originale chips var 16-bit, men nyere versioner blev 32-bit. "X86" henviser nu til før 64-bit arkitekturen - hvad enten det er 16-bit eller 32-bit. Den nyere 64-bit arkitektur kaldes i stedet for "x64".

    Det er hvad "Program Files (x86)" betyder. Det er Programfil-mappen til programmer, der bruger den ældre x86 CPU-arkitektur. Bemærk blot, at 64-bit versioner af Windows ikke kan køre 16-bit kode.

    Dette er ikke normalt

    Det betyder normalt ikke, om et programs filer er gemt i programfiler eller programfiler (x86). Windows installerer automatisk programmer til den korrekte mappe, så du behøver ikke at tænke over det. Programmer vises i menuen Start og fungerer normalt, uanset hvor de er installeret. Begge 32-bit og 64-bit-programmer skal gemme dine data i mapper som AppData og ProgramData, og ikke i nogen Program Files-mappe. Lad dine programmer automatisk bestemme hvilken programfiler, der skal bruges.

    Hvis du bruger en bærbar app, kan den køre fra en hvilken som helst mappe på dit system, så du behøver ikke bekymre dig om, hvor du skal placere dem. Vi kan godt lide at sætte bærbare apps i Dropbox eller en anden form for cloud storage-mappe, så de er tilgængelige på alle vores pc'er.

    Du skal nogle gange vide, hvor et program er gemt. Lad os f.eks. Sige, at du vil gå ind i din dampkatalog for at sikkerhedskopiere nogle filer. Du finder den i C: \ Program Files (x86), da Steam er et 32-bit program.

    Hvis du ikke er sikker på, om et program du installerede er 64-bit eller ej, og du leder efter installationsmappen, skal du muligvis se i begge mapperne Programmer for at finde det.

    Du kan også se i Windows 10's Task Manager.

    På 64-bit versioner af Windows er 32-bit-programmer mærket med den ekstra "(32-bit)" -tekst, hvilket giver dig en indikation på, at du finder dem i C: \ Program Files (x86).