当前位置: 技术问答>linux和unix
如何将一个函数load到指定的内存地址开始?
来源: 互联网 发布时间:2015-08-13
本文导语: 我希望能在操作系统起来之前使用中断处理,所以希望能定位中断处理的函数的位置,但是不知道如何指定函数load到内存的地址,希望各位高手指教! | 请看下面的这段伪代码: int Func_rel() ...
我希望能在操作系统起来之前使用中断处理,所以希望能定位中断处理的函数的位置,但是不知道如何指定函数load到内存的地址,希望各位高手指教!
|
请看下面的这段伪代码:
int Func_rel()
{
/*this is the function i want to move to the specfic location*/
}
void Func_end();
{
return;
}
Func_end-Func_rel()是什么?Func_rel函数的长度。
做一个拷贝:
memcpy((char*)100000,(char*)Func_rel,(int)((ulong)Func_end-(ulong)Func_rel))
这样,函数Func_rel就load到了内存地址:100000
int Func_rel()
{
/*this is the function i want to move to the specfic location*/
}
void Func_end();
{
return;
}
Func_end-Func_rel()是什么?Func_rel函数的长度。
做一个拷贝:
memcpy((char*)100000,(char*)Func_rel,(int)((ulong)Func_end-(ulong)Func_rel))
这样,函数Func_rel就load到了内存地址:100000