怎么将函数保存到数组,要用的时候再用
如何将函数保存到数组,要用的时候再用我的想法:把函数的地址保存起来,再调用汇编的方法就实现了,但是VC++
如何将函数保存到数组,要用的时候再用
我的想法:
把函数的地址保存起来,再调用
汇编的方法就实现了,但是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
[解决办法]