从32位C dll创建64位dll

时间:2013-06-12 11:16:27

标签: windows dll 32bit-64bit

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

3 个答案:

答案 0 :(得分:2)

除非您可以访问DLL的源代码,否则只有供应商可以执行此操作。它必须重新编译为64位。

我猜你将不得不使用32位python ......

答案 1 :(得分:1)

32位和64位DLLS具有不同的ABIscalling conventions。你无法将32位DLL加载到64位进程中,反之亦然。

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

答案 2 :(得分:1)

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

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

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