Просмотр полной версии : Функция, которая принимает буфер памяти( Непойму условие%( )
Задача:
Здесь была задача...
Задачу решать не надо, только обьясните пожалуйста условие и если будут попутные вопросы ответе.
4ето типа такого имхо
...
type
TLol = record
field1: byte;
field2: byte;
field3: byte;
field4: byte;
field5: byte;
field6: byte;
end;
function myfunc(struct: ^TLol): byte;
begin
result := struct.field6;
end;
var
lol : ^TLol;
rez: byte;
begin
rez := myfunc(lol);
writeln('rezult = ', rez);
end;
Как на С/С++ изменить значение адреса. Конкретнее на примере:
получаю адресс 0x0013FF78 и мне надо изменить а точнее прибавить к текущему значению 4 байта.. как это зделать?
Если я все правильно понял то тебе нудно просто просто прибавить к текущему адресу еще 4 байта и все
mov eax,0013FF78h
add eax,4h
на сях как то так.
char *a;
a = (char *)(0x0013FF78+0x4);
mov eax,0013FF78h
add eax,4hЕсли начальный адрес храниться в переменной, а полученный адрес надо занести в указатель типа long то как будет этот код выглядить?
char *a;
a = (char *)(0x0013FF78+0x4);
void f(void *v)
{
long *p= (v+0x5);
cout<<v<<" + 5 = "<<p<<endl;
};а так оно не хочет работать :(... Говорит что неизвестен размер void *.
Имхо, вам сюда надо было
https://forum.antichat.ru/thread40894.html
а вообще
long *p= (long *)((char *)v+0x5);
Спасибо... Тему можно закрывать...
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot