lua 怎么被c++调用的,或者怎么调用c++的?

lua怎么被c++调用的,或者怎么调用c++的?希望说的详细一些。写c++需要导入什么头文件吗??... lua 怎么被c++调用的,或者怎么调用c++的? 希望说的详细一些。写c++ 需要导入什么头文件吗?? 展开
 我来答
匿名用户
2013-11-08
展开全部
添加lua的头文件:
extern "C"
{
#include "./src/lua.h"
#include "./src/lualib.h"
#include "./src/lauxlib.h"}lua_State *lua = NULL; // 定义一个全局的lua_State指针 // 加载lua库lua = ::lua_open();
if (lua)
{
::luaopen_base(lua);
::luaopen_debug(lua);
::luaopen_math(lua);
::luaopen_string(lua);
::luaopen_table(lua);
} // 从lua脚本文件中获取函数并执行 luaL_dofile(lua, "test.lua"); // 解析lua文件
lua_getglobal(lua, "func"); // 获取func函数
lua_pushnumber(lua, 1); // 对第一个参数压栈
lua_pushnumber(lua, 2); // 对第二个参数压栈
if (lua_pcall(lua, 2, 1, 0) != 0) // 执行函数
{
printf("call lua failed!!!");
return 0;
} int nRes = (int)lua_tonumber(lua, -1); // 从栈顶取结果
printf("%d\n", nRes); ::lua_pop(lua, 1); // 将结果弹栈 lua_close (lua); // 关闭lua库
tattackor
推荐于2016-05-01 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:885万
展开全部
使用tolua++即可。
1、tolua++简介
tolua++是一种第三方的软件包,可以为Lua提供面向对象的特性,这样我们就可以使用Lua来编写使用C++语言库的脚本文件.
2、tolua++的编译.
tolua++的主页在http://www.codenix.com/~tolua/,目前的最新版本是1.0.7,为了使用tolua++,我们需要三个文件:
1.bin/tolua++[.exe] - tolua++的可执行程序
2.include/tolua++.h - tolua++的头文件
3.lib/libtolua++.a or lib/tolua++.lib - tolua++的静态库(当然有的时候也需要生成动态库,可以参考我下面给出的文章的网址,我们先从最简单的入手)
使用tolua++的时候,都需要使用tolua++的可执行程序自动生成一个.pkg文件生成对应的.c(C语言)或者.cpp文件(C++语言),然后把这个文件和对应的C/C++文件一起编译生成可执行程序,这样就可以对对应的Lua脚本进行读取操作.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式