我可以使用32位的DLL或EXE的64位蟒蛇?(Can I use 32bit dll or exe

2019-06-26 12:07发布

当我使用CDLL调用32位的DLL在32位蟒蛇,它工作得很好。 但可惜的是在我的64位Win7操作系统只安装64位的蟒蛇,称这是转弯时:这是不是有效的Win32应用程序!

我可以使用32位的DLL或EXE的64位蟒蛇? 或者我必须安装32位的蟒蛇呢?

Answer 1:

64位的EXE无法加载32位DLL。 (反之亦然:32位的EXE文件无法加载64位的DLL。)毕竟,他们无法在指针的大小同意 - 会发生什么样的4GB边界之上,如果EXE分配的内存,并希望传递指针32位DLL?

你必须要么:

  1. 让你的DLL的64位版本;
  2. 使用Python的32位版本; 要么
  3. 主机在一个单独的(32位)的EXE DLL,并使用某种形式的进程间通信的从您的64位Python进程对它说话。


文章来源: Can I use 32bit dll or exe in 64bit python?