代码从C/C++转换为Delphi

Sam*_*yan 1 c++ delphi translate

我有一点问题.我想将一些代码从C/C++翻译成Delphi.

LPVOID lpMyVar;

*(LPWORD)lpMyVar = 0xF9EB;
Run Code Online (Sandbox Code Playgroud)

我尝试了几种方法,但无济于事.如果有人可以帮助我.提前致谢!

nul*_*ptr 5

type PDWORD = ^DWORD;
var lpMyVar: Pointer;

PDWORD(lpMyVar)^ := $F9EB;
Run Code Online (Sandbox Code Playgroud)

但是声明lpMyVar为类型指针可能更好:

var lpMyVar: ^DWORD;

lpMyVar^ := $F9EB;
Run Code Online (Sandbox Code Playgroud)

  • @ArnaudBouchez DWORD在此处不用作指针的类型转换,因此PDWORD(前导"P")用于将无类型指针强制转换为类型指针.除非访问的数据是x64中的64位整数,否则此处不需要NativeUInt. (2认同)