[請益] Delphi 指標
pa, pb: pointer;
i,j: integer;
begin
i:=2;
pa := @i; // 取 i 位址給 pa
pb := pa; // 把 pa 給 pb
pb := @j; // pb 設成 j 位址
j := integer(pa^); // i 放入 j
integer(pa^) := 20; // 20 放入 i
integer(pb^) := integer(pa^); // i 放入 j
問題來了,如果 pa 今天指向 #$402000 的位址, 那我要以 pa 當 base address
要移動 20 個 bytes 要怎麼移
j := integer( pointer(pa)+Pointer(20) );
------------
ex:
要寫下面的種東西, 在 c 裡面我會用,但在 delphi 裡面,還不知怎麼弄 XD
{CopyMemory(Pointer(@Buffer),Pointer(LongInt(FMemory)+FUseableStartPos+FPosit\
ion),Result);}
Move(pView^, ImgDosHeader, sizeof(IMAGE_DOS_HEADER));
Move(pView^ + Pointer(ImgDosHeader._lfanew)^, ImgNtHeaders,
sizeof(IMAGE_NT_HEADERS));
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.8.108.188
→
02/15 01:22, , 1F
02/15 01:22, 1F
Programming 近期熱門文章
PTT數位生活區 即時熱門文章