当我使用CDLL在32位python中调用32位dll时,它运行良好。 但不幸的是,在我的64位win7操作系统中,只安装了64位python,调用它时:它不是一个有效的win32应用程序!我可以在64位python中使用32位dll或exe吗?
我可以在64位Python中使用32位DLL或EXE吗?或者我必须安装32位Python?
当我使用CDLL在32位python中调用32位dll时,它运行良好。 但不幸的是,在我的64位win7操作系统中,只安装了64位python,调用它时:它不是一个有效的win32应用程序!我可以在64位python中使用32位dll或exe吗?
我可以在64位Python中使用32位DLL或EXE吗?或者我必须安装32位Python?
64位EXE无法加载32位DLL。 (反之亦然:32位EXE无法加载64位DLL)。毕竟,他们无法就指针的大小达成一致 - 如果EXE分配高于4GB边界的内存并希望通过指向32位DLL的指针?
你必须要么:
的一般问题的特定情况,因此,64位版本的Python不能选择以32位模式运行?就像64位win7可以执行32位应用程序 – hjhnju 2012-07-25 08:23:00
64位Windows可以运行32位进程,但每个进程必须是64位或32位;你不能在一个地址空间内混合两者。如果你想运行一个应用程序为32位,它必须被编译为一个32位应用程序。 (再次指出这些指针的大小,如果一个应用程序编译期望的指针大小为64位,则它不适用于指向32位的指针,反之亦然。)如果应用程序编译为32位,它将运行作为一个32位应用程序;如果它编译为64位,它将作为64位应用程序运行(在64位操作系统上,并且根本不在32位操作系统上运行)。 – 2012-07-25 12:09:27
在你的机器上安装32位Python应该没问题。 – 2012-07-25 04:13:00
这是http://stackoverflow.com/questions/5720884/load-32-bit-shared-library-from-64-bit-application – cdiggins 2012-10-17 15:35:57