第一题
知道一个函数的内存首地址是01B3C445,但不知道函数名,请问如何调用该函数?
第二题
使用函数swap()交换两个int型变量a、b的值,比如:a=3,b=4
swap函数中不能使用其他变量,也就是说swap函数中只能有两个变量a,b
答案:
1.用函数指针:
typedef void (*func)();
func p = (func)(01B3C445);
func();
typedef void (*func)();
表示func 是一个函数指针类型。
2.
void swap(int &a,int &b)
{
_asm
{
push a;
push b;
pop a;
pop b;
}
}
_asm:嵌入汇编指令