Rak*_*yal 1 c java assembly jna equivalent
我正在使用JNA来调用user32.dll和kernel32.dll的方法.它现在工作正常.我遇到了一些问题,我知道我必须调用这个方法.
void SendCommandToConsole( char* Cmd )
{
DWORD dwCall = 0x004C1030;
__asm
{
push Cmd;
push 0;
call dwCall;
}
}
SendCommandToConsole ( "rp 2000" );
Run Code Online (Sandbox Code Playgroud)
但我甚至没有得到它是什么?__asm在做什么?
如果我使用的标签不正确,请添加适当的标签.:)
根据建议编辑添加的.Net和C#标记.上面的代码是在C#或.NET中,可能是具有该语言知识的人可以告诉我们它实际上是什么,以及我们如何在java中执行此操作.
只是为了展示引擎盖下发生的事情:
你的来电:
SendCommandToConsole("rp 2000");
使用类型为(char*Cmd)的参数调用函数(SendCommandToConsole).
在上面的例子中,(char*Cmd)等于"rp 2000"的字符串(sic).
现在发生的事情是,更高级别的语言(在您的示例中为Java)需要告诉低级语言如何用他们理解的语言解释他们的指令.
因此,上面的例子("我想用"rp 2000"的字符串参数调用函数"SendCommandToConsole")意味着我们需要与低级语言进行通信:
"首先,那个地址的家伙只想知道两件事情,他们必须遵守:
"好的,这很容易"
我会断言我希望他做什么:
好吧,我会打电话给你......你现在可以继续你的一天.
(因为它是一个"无效"的返回,这意味着你不关心交易的结果)