lua 怎么被c++调用的,或者怎么调用c++的?
lua怎么被c++调用的,或者怎么调用c++的?希望说的详细一些。写c++需要导入什么头文件吗??...
lua 怎么被c++调用的,或者怎么调用c++的? 希望说的详细一些。写c++ 需要导入什么头文件吗??
展开
2个回答
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库
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库
展开全部
使用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脚本进行读取操作.
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脚本进行读取操作.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询