Задача: Code: Здесь была задача... Задачу решать не надо, только обьясните пожалуйста условие и если будут попутные вопросы ответе.
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 байта и все Code: mov eax,0013FF78h add eax,4h на сях как то так. Code: char *a; a = (char *)(0x0013FF78+0x4);
Если начальный адрес храниться в переменной, а полученный адрес надо занести в указатель типа long то как будет этот код выглядить? Code: void f(void *v) { long *p= (v+0x5); cout<<v<<" + 5 = "<<p<<endl; }; а так оно не хочет работать ... Говорит что неизвестен размер void *.
Имхо, вам сюда надо было https://forum.antichat.ru/thread40894.html а вообще Code: long *p= (long *)((char *)v+0x5);