如何将C++对象传给lua使用
问能不能将C++对象传到lua中使用请问能不能将C++对象传到lua中使用例如C++中有这样也一个类classCIniFile;现在在lua想用这个对象functionS...
问能不能将C++对象传到lua中使用
请问能不能将C++对象传到lua中使用
例如
C++中有这样也一个类 class CIniFile;
现在在lua想用这个对象
function SetFileName(IniFile)
IniFile.SetFileName("fasdf")
end
IniFile 是通过C++传过来的。
这样可以吗? 展开
请问能不能将C++对象传到lua中使用
例如
C++中有这样也一个类 class CIniFile;
现在在lua想用这个对象
function SetFileName(IniFile)
IniFile.SetFileName("fasdf")
end
IniFile 是通过C++传过来的。
这样可以吗? 展开
5个回答
展开全部
直接传很麻烦.
到lua官网下载SLB库,此库不需要像别的那样要下载Boost库.直接可用.
用法是有些细节的.我这里简单解释
比如有个类
class CA
{
public :
int fun1(float a);
}
在.h里加上
SLB3_DECLARATION(CA,"classca",policy::Default)
你在cpp里加上
SLB3_IMPLEMENTATION(CA , c) {
c.set("fun1",&LBPreParam::fun1);
}
这样,这个类和 函数就被传入lua,在lua里也能用了.
到lua官网下载SLB库,此库不需要像别的那样要下载Boost库.直接可用.
用法是有些细节的.我这里简单解释
比如有个类
class CA
{
public :
int fun1(float a);
}
在.h里加上
SLB3_DECLARATION(CA,"classca",policy::Default)
你在cpp里加上
SLB3_IMPLEMENTATION(CA , c) {
c.set("fun1",&LBPreParam::fun1);
}
这样,这个类和 函数就被传入lua,在lua里也能用了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以传递。我自己的项目也在做这个。
不过完全用lua的C API写起来比较痛苦,它是基于栈操作的,一会儿push, 一会儿pop, 很容易把头都搞大了。而且lua不是天生支持面向对象,要实现类的抽象还需要在表和metatable上捣鼓。
不过有很多实现这个功能的库,比如luabind, 用现成的库是最直接的方式。
不过完全用lua的C API写起来比较痛苦,它是基于栈操作的,一会儿push, 一会儿pop, 很容易把头都搞大了。而且lua不是天生支持面向对象,要实现类的抽象还需要在表和metatable上捣鼓。
不过有很多实现这个功能的库,比如luabind, 用现成的库是最直接的方式。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
进来学习一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不行的,不是一个标准
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询