32位DLL具有64位依赖性 [英] 32-bit DLL has 64-bit dependancies

查看:217
本文介绍了32位DLL具有64位依赖性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,



我用C ++构建了一个DLL,用于C#应用程序。该DLL是为Win32构建的,但根据Dependency Walker,它具有64位依赖性。我做错了什么?



另外,我认为可以在32位或64位系统上运行的C#应用​​程序中使用32位DLL ?



谢谢.....

Hi Guys,

I've built a DLL in C++ to use in a C# application. The DLL was built for Win32 but, according to Dependency Walker, it has 64-bit dependancies. What did I do wrong?

Also, am I correct in thinking that a 32-bit DLL can be used from a C# application running on either 32 or 64 bit systems?

Thanks.....

推荐答案

Steve Steve,

我对此很好奇,经过谷歌搜索后,我发现在64位系统上使用32位Dep.walker作为32位二进制文​​件的可能解决方案。否则结果可能会令人困惑。这似乎在例如

https://social.msdn.microsoft.com/Forums/vstudio/en-US/a371bc8d-e16a- 4d0a-8849-38ca60b4a7b4 / 32-bit-console-application-on-64bit-system-and-dependency-walker?forum = vclanguage [ ^ ]



干杯,
Hi Steve,
I was curious about this and after googling a bit I found as a possible solution to use a 32-bit Dep.walker for 32-bit binaries on a 64-bit system. Otherwise the results can be confusing. This seems to be explained for example in
https://social.msdn.microsoft.com/Forums/vstudio/en-US/a371bc8d-e16a-4d0a-8849-38ca60b4a7b4/32-bit-console-application-on-64bit-system-and-dependency-walker?forum=vclanguage[^]

Cheers,


没有足够的信息说出你做错了什么。



您需要了解您不能在一个过程中混合使用不同的指令集架构。不仅32位(x86)与64位,但你不能混合不同的64位架构(x86-64(也称为AMD64)和IE-64(Itanium),它们是不同的)。请参阅:

http://en.wikipedia.org/wiki/Instruction_set

http://en.wikipedia.org/wiki/X86

http://en.wikipedia.org/wiki/X86-64

http://en.wikipedia.org/wiki/Itanium



是的,您可以在64位操作系统上使用32位DLL,但是如何?仅在某些32位进程中。在Windows上,这是通过WoW64完成的: http://en.wikipedia.org/wiki/WoW64



-SA
Not enough information to say what do you do wrong.

You need to understand that you cannot mix different instruction-set architectures in one process. Not only 32-bit (x86) with 64-bit, but you cannot mix different 64-bit architectures (x86-64 (also known as AMD64) and IE-64 (Itanium), they are different). Please see:
http://en.wikipedia.org/wiki/Instruction_set,
http://en.wikipedia.org/wiki/X86,
http://en.wikipedia.org/wiki/X86-64,
http://en.wikipedia.org/wiki/Itanium.

Yes, you can use 32-bit DLL on a 64-bit OS, but how? Only in some 32-bit processes. On Windows, this is done via WoW64: http://en.wikipedia.org/wiki/WoW64.

—SA


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

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