|
Приспичило мне изобразить сабж. Ну я и написал:
typedef void (*RELFUNC)(void);void CallRelFunc(void)
{
RELFUNC RelFunc;
u_char ucRelBuf[1000];
CopyRelocatableCodeToRelBuf(); //просто откопировать перемещаемый код в буферRelFunc=(RELFUNC)ucRelBuf;
RelFunc();
}
Так вот при приведении поинтера на буфер к поинтеру на функцию кейл его режет его в стиле PAGE:OFFSET и вызывается неизвестно что.
Нормально работает если написать вот так:
RelFunc=((RELFUNC)((u_long)RelBuf));
Как нить промежуточное приведение можно убрать?
E-mail: info@telesys.ru