Re: Скопировать тело функции
От: IceStudent Украина  
Дата: 29.08.06 10:24
Оценка: 4 (1)
Здравствуйте, WoldemaR, Вы писали:

WR>отладчик (VC++2005) показывает разные значения для pfoo и &foo.

WR>в чём может быть дело?
Не знаю, при работе показывает одинаковые:
    char* p = (char*)&f;
    printf("&f = 0x%08X, p = 0x%08X\n",&f,p);


WR>Если это не лечится, то как мне скопировать тело моей функции???

А ты уверен, что это получится? Твоя функция должна быть написана на PIC (position independent code).
Потом, по умолчанию компилятор (vc) генерит переходники на функции:
; переходник
0041102D   E9 CE060000     JMP     ctest.f [ctest.00411700]
...

; наша функция
00411700   55              PUSH    EBP
...
00411728   C3              RETN          ; конец функции

; вызов функции
004117AE   E8 7AF8FFFF     CALL    ctest.0041102D


Соответственно, с переходниками ни размер функции толком не получить, ни скопировать её.
--
wbr, icestudent
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.