2012-02-07 17 views
7

Creo que bajo windows x64, todavía usa user32.dll y un montón de otras bibliotecas de 32 bits. ¿Por qué no hay user64.dll?¿Por qué Windows 64 todavía hace uso de user32.dll, etc.?

+0

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

+2

¿Cómo de qué manera esta pregunta está fuera de tema? –

+0

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

Respuesta

15

C:\Windows\System32\user32.dlles una biblioteca de 64 bits.
La versión de 32 bits está en C:\Windows\SysWOW64\user32.dll.

No pueden cambiar ningún nombre porque eso rompería todo tipo de programas con rutas codificadas.

2

Los nombres "user32" y "system32" y así sucesivamente existían mucho antes que las ediciones modernas de 64 bits de Windows. Los nombres tenían la intención de distinguirlos de las versiones de 16 bits, no de las versiones de 64 bits. En Windows de 64 bits, todavía no es de 16 bits, por lo que sigue siendo "system32", "user32", y así sucesivamente.

Nadie lo planeó de esa manera, simplemente sucedió.

+0

Cambiar el nombre del archivo dll creará problemas para vincular/cargar dlls tiene que manejar 32/64 con nombres diferentes cada vez. El sistema operativo simplemente redirige las carpetas del sistema cuando un programa se ejecuta en modo de 32 bits. – linquize

Cuestiones relacionadas