Tłumaczenie fragmentu kodu z C++

0

Mam problem z przetłumaczeniem tego kodu:

((uint64_t*)screen)[i] = ((uint64_t*)buffer)[i];

Na Pascala.
Deklaracje zmiennych:

char buffer[SIZE];
char *screen;
unsigned int i;

Nie jestem pewien, czy w ogóle można taki kod przetłumaczyć, dlatego się pytam.

0

czy to nie będzie zwykłe

var
buffer: array[0..SIZE] of char;
screen: PChar;
begin
  screen[i] := buffer[i];
0

Nie będzie. Twój kod kopiuje 1 bajt, a powinien 8. Tutaj chodzi o optymalizację.

0

aaa teraz już wiem po co to (uint64_t*) tam jest :p. Jeśli teraz kod w c faktycznie kopiuje zawartość pamięci a nie jedynie przesuwa wskaźnik to w delphi najprościej będzie użyć CopyMemory

1 użytkowników online, w tym zalogowanych: 0, gości: 1