2010-03-17 15 views
9

Tengo un exe de 32 bits que necesita cargar dinámicamente un dll de 64 bits cuando detecta que el sistema operativo es de 64 bits. ¿Es esto posible a través de LoadLibrary? Si no, ¿hay otra forma de lograr el mismo objetivo?Llamar a LoadLibrary en un dll de 64 bits desde un proceso de 32 bits

+4

En una nota lateral, el conjunto de instrucciones de 32 bits se llama "x86", no "x32". Realmente no tiene sentido en estos días, pero creo que 8086 merece ser recordado :) – sbk

Respuesta

2

No puede mezclar código de 64 bits y 32 bits en el mismo proceso. Necesitará una versión de 32 bits de la DLL.

12

Como se mencionó anteriormente, el código de 32 bits no puede cargar código de 64 bits en el mismo proceso. Tendrá que cargarlo en un proceso diferente (CreateProcess()?) Y usar IPC para coordinar.

+1

Aquí hay un enlace a un conjunto de formas de hacer IPC en Windows: http://msdn.microsoft.com/en-us/library/ aa365574 (VS.85) .aspx. También vea mi respuesta en otro hilo para más formas de hacerlo: http://stackoverflow.com/questions/446411/remote-procedure-calls/446615#446615 – Laserallan

Cuestiones relacionadas