nynw.net
当前位置:首页 >> luA 怎么被C++调用的,或者怎么调用C++的? >>

luA 怎么被C++调用的,或者怎么调用C++的?

使用tolua++即可。 1、tolua++简介 tolua++是一种第三方的软件包,可以为Lua提供面向对象的特性,这样我们就可以使用Lua来编写使用C++语言库的脚本文件. 2、tolua++的编译. tolua++的主页在http://www.codenix.com/~tolua/,目前的最新版本是1.0.7,...

一. lua调用C++ 在lua中是以函数指针的形式调用函数, 并且所有的函数指针都必须满足如下此种类型: typedef int (*lua_CFunction) (lua_State *L); 也就是说, 偶们在C++中定义函数时必须以lua_State为参数, 以int为返回值才能被Lua所调用. 但是不...

顺序搞反了埃 你已经定义了 csum 函数 luaL_dofile 那一句放到 lua_setglobal后面。 你必须在l 环境中注册 int csum(lua_State*)函数后,然后再dofile。不然你dofile的时候c函数还没有注册,lua当然无法使用这个函数啦。

当我们需要在Lua里面调用c/c++函数时,所有的函数都必须满足以下函数签名: 复制代码 代码如下: typedef int (*lua_CFunction) (lua_State *L); 换句话说,所有的函数必须接收一个lua_State作为参数,同时返回一个整数值。因为这个函数使用Lua栈...

第一种方式是调用的时候提示找不到这个接口,但你查看C++会发现明明有这个接口,那么问题在哪呢? 原因是在做luabinding的时候配置文件中忽略了一些接口,也修改了一些接口在lua层的命名,那么哪里看呢? 所有自动生成的binding文件都在quick根...

当我们需要在Lua里面调用c/c++函数时,所有的函数都必须满足以下函数签名: 复制代码 代码如下: typedef int (*lua_CFunction) (lua_State *L); 换句话说,所有的函数必须接收一个lua_State作为参数,同时返回一个整数值。因为这个函数使用Lua栈...

不能简单的直接调用。需要在c++代码里面添加额外的代码(wrapper)。有很多工具可以用来简化这个过程。参考网页链接 cocos2dx里面用的是tolua++。

首先要找到这个函数的“指针”,然后lua_pcall即可。 比如 lua_getglobal(L, "test"); if(lua_isfunction(L, -1)) { lua_pcall(L, 0, 1, 0); }

对象无法传 你看Lua的教程就知道了 Lua支持的不是C++ 是C 而且不是所有的C都支持 本身Lua是用标准C语言开发 所以也只能实现C语言的功能 C++就已经超出范围了 所以要把对象放进去 必须按照一定的格式 逐个把函数和参数放进去 再到Lua按顺序逐个取出

dll通过函数luaL_openlib导出,然后lua使用package.loadlib导入库函数,基本就是这么个过程,下面上代码来说明一切。 [cpp] view plain copy #include "stdafx.h" #ifdef __cplusplus extern "C"{ #endif #include "lua.h" #include "lualib.h" ...

网站首页 | 网站地图
All rights reserved Powered by www.nynw.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com