Project1

标题: 如何在参数中传递一个函数的指针 [打印本页]

作者: 6928233    时间: 2011-8-17 19:31
标题: 如何在参数中传递一个函数的指针
def 函数(函数指针,参数1,参数2......)
执行函数(函数指针)
end

我调用了一个dll文件,里面的函数需要传递一个参数,这个参数类型是函数的指针

如何取到一个函数的指针?

不是字符串,也不是数字,是函数的指针,传递过去让他执行这个函数dsu_plus_rewardpost_czw
作者: orzfly    时间: 2011-8-17 19:37
本帖最后由 orzfly 于 2011-8-17 19:52 编辑

http://www.ruby-forum.com/topic/75191 中提供了解决方法:使用 Ruby DL

RM 似乎没办法了,需要用 so 库?我不知道能不能用。
作者: 6928233    时间: 2011-8-17 19:45
orzfly 发表于 2011-8-17 19:37
Win32API.new(dllname, proc, import, export)
    加载名为dllname的DLL,生成API函数proc的对象。在import ...

谢谢,不是很懂,它有两个参数都是函数指针时应该怎么写?
作者: 忧雪の伤    时间: 2011-8-17 20:07
method(name)
将self的方法name对象化后得到Method对象并返回该对象.可以使用字符串或Symbol来指定name.

白字……
作者: 苏小脉    时间: 2011-8-19 08:02
自行建立一个共享库,在里面导出一个本地函数,通过 Win32API 动态链接到 RM 程序对象,然后 GetProcAddress 寻址即可。

现成的与本地回调函数打交道的 Gem 不是没有,但 RM 没有导出 Ruby 的 API,不进行逆向工程的话是没法使用 Ruby 扩展的。
作者: 6928233    时间: 2011-8-21 10:10
苏小脉 发表于 2011-8-19 08:02
自行建立一个共享库,在里面导出一个本地函数,通过 Win32API 动态链接到 RM 程序对象,然后 GetProcAddres ...

有无代码




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1