Здравствуйте, 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