我的dll支持64位吗? [英] does my dll support 64 bit?

查看:67
本文介绍了我的dll支持64位吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,



我在我的一个应用程序中使用了dll。自从我迁移到新的64位开发环境以来,我的应用程序开始抛出异常。我强烈怀疑,问题在于我所指的dll。有没有办法找出该DLL是否支持/适用于64位环境。



问候

Sebatian

Hello all,

I have dll which I was using in one of my application. Since I moved to new 64 bit development environment, my application started to throw exceptions. I strongly doubt , the issue is with the dll which I was referring. Is there a way to find out whether that dll supports/ works with 64 bit environment.

Regards
Sebatian

推荐答案

最简单的方法是使用依赖步行器,如下所示: http://www.dependencywalker。 com / [ ^ ]。它应该显示哪些库与您的应用程序实际上不兼容。

但它只能解析库级依赖项约束。并且有很多情况,当引用的dll没问题时,它调用的函数后面的api在x68和x64环境中的工作方式不同。在纯托管库中并非如此,框架库也管理它,但是在第三方库执行API调用(p / invoke)时需要小心。所以我建议你在这些库上使用反射器,并检查每个引用的函数。如果它引用了一个winapi,你可以查看msdn,如果它是对非托管库的调用,那可能很难......
The simplest way is to use a dependency walker, like this one: http://www.dependencywalker.com/[^]. It should show you which libraries are not really compatible with your application.
But it can resolve only library-level dependency constraints. And there are many situations, when the referenced dll is ok, but the api behind the function it calls works differently in x68 and x64 environment. It is not the case in pure managed libraries and framework libraries manage it also, but you need to be careful in case of third party libraries doing API calls (p/invoke). So I suggest you use reflector on such libraries, and check every referenced function. If it references a winapi, you can check on msdn, if it is a call to unmanaged library, it can be difficult...


在32位系统上工作的任何dll都会很好在64位系统上工作,wow64负责这一点。请参阅WIKI WOW64 [ ^ ]



如果你能说出你得到的豁免是什么,那么我们也许可以提供帮助你最好如果你的dll访问注册表,那么可以通过将注册码放在wow3264Node下来解决。
Well therically any dll which works on 32 bit system will work on 64 bit system and wow64 takes care of that. See the WIKI WOW64[^]

If you can tell what is the exeception you are getting then we might be able to help you better how ever if your dll is accessing registery then it can be solved by putting registery key under wow3264Node.


这篇关于我的dll支持64位吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆