| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1362 人关注过本帖
标题: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
快速回复:win32 函数指针的问题
数据加载中...
 
   



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

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