如何将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++传过来的。

这样可以吗?
展开
 我来答
yaoyue1019
2010-07-15 · 知道合伙人互联网行家
yaoyue1019
知道合伙人互联网行家
采纳数:804 获赞数:3392
擅长lua脚本 与android前端交互设计

向TA提问 私信TA
展开全部
对象无法传
你看Lua的教程就知道了
Lua支持的不是C++ 是C 而且不是所有的C都支持
本身Lua是用标准C语言开发 所以也只能实现C语言的功能 C++就已经超出范围了
所以要把对象放进去 必须按照一定的格式 逐个把函数和参数放进去 再到Lua按顺序逐个取出
archmageee4
2015-11-01 · TA获得超过1516个赞
知道大有可为答主
回答量:1581
采纳率:78%
帮助的人:923万
展开全部
直接传很麻烦.
到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里也能用了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
疾似云流
2010-07-22 · TA获得超过1159个赞
知道小有建树答主
回答量:1093
采纳率:0%
帮助的人:481万
展开全部
可以传递。我自己的项目也在做这个。

不过完全用lua的C API写起来比较痛苦,它是基于栈操作的,一会儿push, 一会儿pop, 很容易把头都搞大了。而且lua不是天生支持面向对象,要实现类的抽象还需要在表和metatable上捣鼓。

不过有很多实现这个功能的库,比如luabind, 用现成的库是最直接的方式。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c288565
2010-07-20 · TA获得超过161个赞
知道答主
回答量:274
采纳率:0%
帮助的人:132万
展开全部
进来学习一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2152c35
2010-07-20 · TA获得超过143个赞
知道小有建树答主
回答量:78
采纳率:0%
帮助的人:127万
展开全部
不行的,不是一个标准
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式