如何将函数保存到数组,要用的时候再用
我的想法:
把函数的地址保存起来,再调用
汇编的方法就实现了,但是VC++怎么实现呢?
- C/C++ code
#include <iostream>using namespace std;void* t;void a();int b;void main(){ t = &a;/* _asm { call t[0] }*/ *t();//这样不行}void a(){ b++;}[解决办法]
typedef void( * FUNCPTR)( void );
t=(void*)a;
....
((FUNCPTR)t)();
[解决办法]
[解决办法]
将二进制读取到内存中,然后使用函数指针方式可以执行,这种方法的标准做法就是dll。
[解决办法]
得用函数指针
[解决办法]
函数指针,类似加载dll中的函数,类似GetProcessAddr
[解决办法]