2016 - 2024

感恩一路有你

64位程序调用32位库 64位程序可以调用32位dll吗?

浏览量:2715 时间:2021-03-10 21:37:19 作者:admin

64位程序可以调用32位dll吗?

工作流:

1。创建进程外COM服务器(exe)。

2. 将32位DLL的接口函数封装为COM服务器的相关接口。

3. 注册COM服务器*。Exe/regserver(注销*)。Exe/unreger服务器)。

4.64位进程成功调用32位COM服务器接口。因此,64位进程调用32位DLL。具体步骤:我先创建一个简单的DLL项目,只输出一个函数int c=add(int a,int b)来生成lib和DLL,然后创建一个进程外的com(EXE类型),内部链接DLL,add方法:add(long*c){*c=add(1,2)}来编译生成。然后注册com,*。Exe/regserver创建64位Win32项目,以验证方法调用在64位环境中是否正确。它被证实是正确的

!结论:上述方法可以解决64位进程调用32位DLL的问题,32位进程调用64位DLL也应该用这种方法来解决。原因是32位和64位com系统安装在64位windows系统中

在64位平台上,在32位平台上调试后很容易生成64位驱动程序文件。这是最后一个无法解决的问题。

小结:32位进程可以调用64位驱动程序(sys文件);但32位进程不能调用64位进程,更改为64位平台:我使用WDF重新编写驱动程序,例如,我的32位VB软件不能调用64位DLL,我可以完全使用32位DLL和32位进程。因此,我的软件不需要做任何更改,可以直接在64位平台上使用。

64位程序怎么调用32位dll?

工作流:

1。创建进程外COM服务器(exe)。

2. 将32位DLL的接口函数封装为COM服务器的相关接口。

3. 注册COM服务器*。Exe/regserver(注销*)。Exe/unreger服务器)。

4.64位进程成功调用32位COM服务器接口。因此,64位进程调用32位DLL。具体步骤:我先创建一个简单的DLL项目,只输出一个函数int c=add(int a,int b)来生成lib和DLL,然后创建一个进程外的com(EXE类型),内部链接DLL,add方法:add(long*c){*c=add(1,2)}来编译生成。然后注册com,*。Exe/regserver创建64位Win32项目,以验证方法调用在64位环境中是否正确。它被证实是正确的

!结论:上述方法可以解决64位进程调用32位DLL的问题,由于32位和64位com系统安装在64位windows系统中,32位进程调用64位DLL的问题也应该用这种方法来解决

64位程序调用32位库 32位dll注入64位进程 64位如何加载32位dll

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。