当前位置: 首页 > 面试题库 >

我可以在64位python中使用32位dll或exe吗?

谭骏
2023-03-14
问题内容

当我使用CDLL在32位python中调用32位dll时,它运行良好。但是不幸的是,在我的64位win7操作系统中,它只能安装64位python,调用时会变成:这不是有效的win32应用程序!

我可以在64位python中使用32位dll或exe吗?还是我必须安装32位python?


问题答案:

64位EXE无法加载32位DLL。(反之亦然:32位EXE无法加载64位DLL。)毕竟,它们不能就指针的大小达成共识-
如果EXE分配的内存超过4GB边界并希望传递该指针,将会发生什么情况?指向32位DLL的指针?

您必须:

  1. 制作DLL的64位版本;
  2. 使用32位版本的Python;要么
  3. 将DLL托管在单独的(32位)EXE中,并使用某种形式的进程间通信与您的64位Python进程进行通讯。


 类似资料:
  • 问题内容: 我有以下配置: 1)Windows 10 64位 2)只有32位版本的应用程序可通过COM获得。 我使用tlbimb.jar访问32位应用程序的.dll文件,以生成所需的接口,然后成功。 方案1:我尝试使用Java 8 32位 安装访问32位应用程序。我可以 成功 通过COM 成功 调用这些方法。 方案2:我尝试使用Java 8 64位安装访问32位应用程序。我收到一条错误消息: 我在

  • 我已经在Java工作了8个月。目前,我正在使用JNA加载一个第三方DLL,它在32bit WinXP和32bit Win7机器上运行良好。 我将使用procexp来查找是否缺少任何依赖项。我会相应地更新这篇文章。 请提供您的专家建议。提前感谢!

  • 如果操作系统是64位,我想安装一个32位的DLL到文件夹和64位的DLL到文件夹并分别注册它们。如果是32位操作系统,我只想将文件复制到正常程序文件夹并注册。 如何在Inno安装程序中执行此操作?64位DLL也会被64位程序注册吗? 这是我到目前为止的代码。它在 32 位操作系统上工作正常,但在 64 位操作系统上,它会转储 中的两组文件。 我已经看过示例,但它告诉如何进行32位或64位安装,而不

  • 问题内容: 我有一台新的64位Windows计算机,并且将python用于各种用途,因此希望安装64位python。 但是,我的一个python项目创建了一个Windows可执行文件,然后在32位Windows计算机(使用py2exe创建)上运行。 如何使用64位python和py2exe创建32位可执行文件? 如果我做不到,我想我的选择是: 在包括我的所有机器上使用32位python;要么 在3

  • 问题内容: 使用Java本机接口时,我遇到了一个导致此错误的问题。我相信这是因为我使用MinGW编译了.dll,而我的系统是64位的,因此我的Java运行于64位,而MinGW编译为32位的.dll。无论如何,有没有强制我的Java在32位上运行? 问题答案: 您将必须安装32位JVM,然后才能运行代码。 如果要分发应用程序,则将要构建DLL的32位和64位版本。然后,使用以下技术来加载正确的DL

  • 我在tcnative-1.dll不能加载AMD 64位.dll在IA 32位平台上,除了这是相反的,当运行tomcat-7.0.47下面是我的详细信息和日志。我已经尝试跟随上面发布的所有内容,但没有运气...请帮助我! 此外,我还下载了64位JRE,并仔细检查了我的java版本 C:\users\franklu>java-version java version“1.7.0_55”java(TM)