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

 我来答
一骑当后
推荐于2016-03-29 · 知道合伙人数码行家
一骑当后
知道合伙人数码行家
采纳数:40292 获赞数:306466
网络、设备维护、电路、弱电检测。

向TA提问 私信TA
展开全部
  工作流程:
  1.创建一个进程外COM服务器(EXE)。
  2.将32位dll的接口函数封装为COM服务器的相关接口。
  3.注册COM服务器*.exe /regserver (注销 *.exe /unregserver)。
  4.64位进程调用32位COM服务器接口,成功。从而曲线实现了64位进程调用32位dll。

  具体步骤:
  我首先创建了一个简单的dll工程,只输出一个函数int c = add(int a,int b); 生成lib和dll
  然后创建一个进程外COM(EXE类型),内部链接dll,添加方法Method: Add(long *c)
  { *c = add(1,2);}编译生成。
  然后注册COM,*.exe /regserver
  最创建一个64位WIN32工程验证64位环境下方法调用是否正确,经验证正确!!!

  结论:以上方法可以解决64位进程调用32位dll的问题

  32位进程调用64位dll应该也可以通过这种方法解决,原因64位windows系统下安装了32位和64位两套COM系统
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式