标题:win32 函数指针的问题
取消只看楼主
codeos
Rank: 2
等 级:论坛游民
帖 子:8
专家分:10
注 册:2011-2-14
结帖率:0
已结贴  问题点数:20 回复次数:0 
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

我应该怎样通过那个子函数的地址去访问带参数的子函数?
搜索更多相关主题的帖子: 函数 cod local start 
2011-03-27 14:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-334902-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.220715 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved