1

我有一个从第三方获得的 32 位 dll。他们没有 64 位版本。我希望将此 dll 加载到 64 位 python 中。为此,我需要一个 64 位的 dll。是否有将 32 位 dll 转换为 64 位 dll 的工具,或者这不可能?如果不可能,那么我猜我必须使用 32 位 python。

4

3 回答 3

2

只有供应商可以这样做,除非您可以访问 DLL 的源代码。它必须重新编译为 64 位。

我想你必须使用 32 位 python ......

于 2013-06-12T11:28:47.507 回答
1

32 位和 64 位 DLLS 具​​有不同的ABI调用约定。您只是不能将 32 位 DLL 加载到 64 位进程中或以其他方式加载。

如评论中所述,您必须从源代码重新编译。

于 2013-06-12T11:21:51.440 回答
1

如果没有源代码,您无法从 32 位 DLL 创建 64 位 DLL。

但是您可以将适配器创建为原生 32 位应用程序,该应用程序加载 32 位 DLL 并通过某种进程间通信(例如命名管道)提供对其功能的访问

当然,在某些情况下这可能毫无意义,您可能更喜欢使用 32 位 python。所以这取决于。

于 2013-06-12T11:29:03.997 回答