我有一个从第三方获得的32位DLL。他们没有64位版本。我希望加载到64位Python的dll。要做到这一点,我需要一个64位的DLL。有没有工具将32位DLL转换为64位DLL或者这是不可能的?如果不可能,那么我想必须使用32位python。从32位C DLL创建64位DLL
回答
只有供应商可以这样做,除非您可以访问DLL的源代码。它必须重新编译为64位。
我想你将不得不使用32位的蟒蛇......
32位和64位DLLS有不同ABIs和calling conventions。您无法将32位DLL加载到64位进程中或以其他方式加载。
正如评论中所述,您必须从源代码重新编译。
我明白,但我可以创建一个32位DLL的64位DLL。 – Baz
您需要使用64位编译器重新编译源代码 –
问题不在于ABI或调用约定。问题是单个进程不能混合使用32位和64位的模块 –
你不能没有源代码创建32位的一个64位的DLL。
但是你可以创建一个适配器加载32位的DLL,并通过某种进程间通信提供给它的功能的访问本机的32位应用程序(如命名管道)
当然,这在某些情况下可能没有意义,您可能更喜欢使用32位Python。 所以这取决于。
- 1. 从64位代码访问32位DLL
- 2. 64位进程中的AnyCPU C#DLL加载32位DLL
- 3. C#和PInvoke到32/64位DLL
- 4. 注册32位和64位的DLL
- 5. 32位和64位dll的windows服务
- 6. 办公室64位32位DLL
- 7. 为64位和32位环境创建DLL
- 8. 为32位和64位非托管DLL创建托管包装
- 9. Windows xp 32位d3d9.dll与Windows 7 64位d3d9.dll
- 10. 本地64位DLL的32位Dll包装
- 11. 是否有可能创建一个64位和32位的DLL? C++
- 12. xp_md5.dll 64位
- 13. 64位fortran DLL
- 14. 32位和64位DLL如何链接到相同的C:\ system32 \ kernel32.DLL?
- 15. 32位DLL无法在64位服务器上工作C#
- 16. 32位C#应用程序如何利用64位DLL
- 17. 在C#中使用32位或64位DLL DllImport
- 18. 试图使用64位MFC DLL的C++ 32位应用程序
- 19. 是否可以从32位应用程序访问64位dll?
- 20. 找出一个DLL是从Java的32位还是64位
- 21. 从32位进程调用64位DLL上的LoadLibrary
- 22. 32位或64位DLL从.net托管代码加载
- 23. 我需要从一个64位exe访问一个32位DLL
- 24. 如何从运行Windows Server 2003 64位版本的C#调用32位C DLL?
- 25. 是否可以创建一个既是32位又是64位的DLL?
- 26. 为64位dll创建一个32位包装器。这可能吗?
- 27. 在64位机器上调用64位Dephi DLL从C#在64位机器上
- 28. 使用Environment.Is64BitProcess从c#应用程序动态调用32位或64位DLL
- 29. 在同一解决方案中开发64位DLL和32位DLL
- 30. Tomcat7tcnative-1.dll:无法在AMD 64位平台上加载IA 32位.dll
你猜对了 –