2012-02-07 10 views
7

Penso che sotto windows x64 usi ancora user32.dll e un mucchio di altre librerie a 32 bit. Perché non c'è user64.dll?Perché Windows 64 utilizza ancora user32.dll ecc.?

+0

Vedere http://en.wikipedia.org/wiki/Windows_api#Versions –

+2

Come mai questa domanda è fuori tema? –

+0

Duplicato: https://stackoverflow.com/questions/1540741 – CWilson

risposta

15

C:\Windows\System32\user32.dllè una libreria a 64 bit.
La versione a 32 bit è in C:\Windows\SysWOW64\user32.dll.

Non è possibile modificare alcun nome poiché ciò interromperà tutti i tipi di programmi con percorsi hardcoded.

2

I nomi "user32" e "system32" e così via esistevano molto prima delle moderne edizioni a 64 bit di Windows. I nomi avevano lo scopo di distinguerli dalle versioni a 16 bit, non dalle versioni a 64 bit. Su Windows a 64 bit, non è ancora a 16 bit, quindi è ancora "system32", "user32" e così via.

Nessuno l'ha pianificato in quel modo, è appena successo.

+0

Cambia nome file dll creerà problemi di collegamento/caricamento DLL devono gestire 32/64 con nomi diversi ogni volta. Il sistema operativo semplicemente reindirizza le cartelle di sistema quando un programma è in esecuzione in modalità a 32 bit. – linquize

Problemi correlati