/ / ¿Puedo usar 32bit dll o exe en 64bit python? - Python, DLL, 32 bits-64 bits

¿Puedo usar 32bit dll o exe en 64bit python? - python, dll, 32bit-64bit

Cuando uso CDLL para llamar a 32bit dll en 32bit python, funciona bien. Pero desafortunadamente en mi Win7 de 64 bits, el sistema operativo solo instala la pitón de 64 bits, cuando se activa, no es una aplicación win32 efectiva.

¿Puedo usar 32bit dll o exe en 64bit python? ¿O tengo que instalar 32 bit python en su lugar?

Respuestas

25 para la respuesta № 1

Los EXEs de 64 bits no pueden cargar DLL de 32 bits. (Y viceversa: los EXEs de 32 bits no pueden cargar DLL de 64 bits.) Después de todo, no pueden ponerse de acuerdo sobre el tamaño de un puntero: ¿qué pasaría si el EXE asignara memoria por encima del límite de 4GB y quisiera pasar esa memoria? puntero a la DLL de 32 bits?

Tendrás que:

  1. Haga una versión de 64 bits de su DLL;
  2. Utilice una versión de 32 bits de Python; o
  3. Aloje la DLL en un EXE independiente (de 32 bits) y use algún tipo de comunicación entre procesos para comunicarse con él desde su proceso de Python de 64 bits.