【发布时间】:2017-11-12 19:27:55
【问题描述】:
我需要调用函数(calloc),但我必须通过存储在DWORD中的该函数的内存地址来调用它。该函数有两个 int 参数。我认为,Calloc 应该返回指针。我试过这样的东西
//global var
DWORD addressOfFunction;
typedef void(*originalAddress)(int, int);
int main(){
originalAddress tmp = (void *)addressOfFunction;
tmp(x, y);
}
谁能解释一下,我在哪里犯了错误?我的解决方案不正确。
【问题讨论】:
-
什么是操作系统?
calloc- static/shared(so/dll) 等在哪里? -
callocOriginFirstThunkAddress是什么?它是否返回函数指针? -
它是 windows 10。我更改了代码。 callocOriginFirstThunkAddress 应该是 addressOfFunction
-
???如果这是一个家庭作业,请包括你的练习,因为你问的没有意义。
-
函数指针不保证适合
DWORD。为什么你认为你“必须”这样做?这听起来像XY problem。