level 1
比如这样的C函数 int test(int &x, int v)
lua怎么调用
2014年08月06日 11点08分
1
level 8
首先,你这个不是C函数,因为C语言没有引用这个概念。
其次,lua没法调用你这个函数,因为在lua语言层面上没有与引用对应的数据类型,所以lua层根本没法传递这种参数。
最后,相信有别的途径解决你的问题。
2014年08月06日 12点08分
2
好吧。。。还是找别的方法了
2014年08月06日 12点08分
回复 jcweiran :用指针完全可以代替引用啊。
2014年08月06日 12点08分
回复 ks_isaf :int test(int *x, int v) 这样的也不行啊
2014年08月06日 12点08分
回复 jcweiran :不能直接调用的。这个你要了解一下lua是如何调用c函数(有一定规则的C函数)的,然后用lua格式的c函数对你的函数进行封装。
2014年08月06日 12点08分
level 11
指针是可以传递进去的,但你这个方法不行,指针可以传递进去的原因是在lua内部有映射,即有个相应的指针处理元表在支持。像你这种,可以写个代理类传递进去。还有一种,就是用LuaState* L作为参数,你自己通过对栈的操作来处理。
2014年08月11日 02点08分
4