win32 函数指针的问题
看个情景先:------------------------------------------------
;code start
1|_Fun proc _Arg ;自定义的一个子函数,调用时需要传入一个dword类型参数
2| pushad
3| mov eax,esi
4| ...... ;总之是一些简单的操作
5| popad
6| ret
7|_Fun endp
8|
9|_WinMain proc ;主函数
10| local @tmp
11| local @arg
12| mov @arg,1234h
13| mov @tmp,offset _Fun
14| invoke _Fun,@arg
15| invoke
16|_WinMain endp
;code end
---------------------------------------------------------------
我在主函数_WinMain中invoke了自定义的子函数_Fun,没什么问题;
在代码的第13行我获取了子函数的偏移地址,这样如果我不想用子函数名_Fun去调子函数,
而是想通过那个存放子函数地址的@tmp局部变量去调子函数,该如何操作?
我试过这个样子去调子函数:
invoke @tmp,@arg
编译器会报错:error A2190: INVOKE requires prototype for procedure
我应该怎样通过那个子函数的地址去访问带参数的子函数?