在x64 dll中执行功能? [英] Execute a function in a x64 dll?

查看:71
本文介绍了在x64 dll中执行功能?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我有一个包含20个函数的x64调试dll,请说.如果输入正确的参数,我是否可以执行其中的任何一个?
我想写一些源代码,使我能够根据自己的命令执行功能.
任何想法都受到高度赞赏.谢谢.

Say if I have a x64 debug dll that includes 20 functions. Is there anyway I can execute any one of them if I feed into correct parameters?
I would like to write some source code that allows me to execute the functions according to my order.
Any thoughts is highly appreciated. Thanks.

推荐答案

请参阅我对问题的评论.使用两种64位指令集体系结构(x86-64或Itanium,IE-64)之一不需要做任何特殊的事情.要运行它,您需要这些架构之一是在您的硬件(CPU)上.

但是需要进一步考虑的是:如果在同一过程中将两个可执行文件编译为目标,则无法在同一过程中从其他可执行文件调用一个可执行模块的功能. )应用于不同的指令集体系结构.唯一的解决方案可能是在IPC上进行协作的独立流程.另外,在Windows上, WoW64 下的任何64位体系结构也始终支持x86.

就这样.

请参阅:
http://en.wikipedia.org/wiki/Instruction_set_architecture [ http://en.wikipedia.org/wiki/WOW64 [ http://en.wikipedia.org/wiki/X86 [ http://en.wikipedia.org/wiki/X86-32 [ http://en.wikipedia.org/wiki/X86-64 [ http://en.wikipedia.org/wiki/Itanium [ http://en.wikipedia.org/wiki/X86_virtualization [ http://en.wikipedia.org/wiki/X86_calling_conventions [ http://en.wikipedia.org/wiki/X86_calling_conventions#x86-64_calling_conventions [ ^ ].

—SA
Please see my comment to the question. You don''t need to do anything special to use one of the two 64-bit instruction-set architectures (x86-64 or Itanium, IE-64). To run it, you need that one of these architectures was on your hardware (CPU).

But further consideration is this: there is no a way to call a function of one executable module from some other executable module in the same process, if the two are compiled (targeted) to different instruction-set architectures. The only resolution could be separate processes collaborating over IPC. Also, on Windows, x86 is also always supported for any of the 64-bit architectures under WoW64.

That''s all.

Please see:
http://en.wikipedia.org/wiki/Instruction_set_architecture[^],
http://en.wikipedia.org/wiki/WOW64[^],
http://en.wikipedia.org/wiki/X86[^],
http://en.wikipedia.org/wiki/X86-32[^],
http://en.wikipedia.org/wiki/X86-64[^],
http://en.wikipedia.org/wiki/Itanium[^].

Some advanced matter on instruction-set architectures and their interoperability:
http://en.wikipedia.org/wiki/X86_virtualization[^],
http://en.wikipedia.org/wiki/X86_calling_conventions[^],
http://en.wikipedia.org/wiki/X86_calling_conventions#x86-64_calling_conventions[^].

—SA


这篇关于在x64 dll中执行功能?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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