设为首页 加入收藏

TOP

Lua 跟 C++ 的交互
2015-07-24 05:53:12 来源: 作者: 【 】 浏览:4
Tags:Lua 交互
Lua 和 C++ 是这样交互的

乱七八糟的前戏:
1. 到官网 下载 Lua 文件 可参考 -> Lua 下载与配置
2. 设置环境 可参考 -> VS 配置Lua环境


交互过程有:
1. C++ 访问 Lua 的变量
2. C++ 调用 Lua 的函数
3. Lua 访问 C++ 的变量
4. Lua 访问 C++ 的函数


No code say a j8


C++ 调用 Lua

#include 
  
   
#include 
   
     // 引入Lua必要的头文件,Version: Lua5.1.5 extern "C" { #include "lua.h" #include "lualib.h" #include "lauxlib.h" }; using namespace std; // C++ 调用 lua int main() { //初始化全局L lua_State *L = luaL_newstate(); //打开库 luaL_openlibs(L); //加载lua脚本文件 if (luaL_loadfile(L,"LuaFile\\lua.lua")) // lua.lua 的路径,这里使用相对路径 { printf("file load error\n"); } lua_pcall(L,0,0,0); // 加载 Lua 文件 lua_getglobal(L, "l_str"); // get, 将L指向 lua文件中的函数 l_str lua_pcall(L,0,1,0); // 执行指针L指向的函数,将结果返回到栈顶, (0,1,0) 表示 (输入个数,输出个数,其他处理) string strVersion = luaL_checkstring(L,1); // 从栈顶获取元素 cout<
     
     


Lua 调用 C++

#include 
      
       
#include 
       
         // 引入Lua必要的头文件,Version: Lua5.1.5 extern "C" { #include "lua.h" #include "lualib.h" #include "lauxlib.h" }; using namespace std; // 将lua中的变量,通过这个函数打印出来 int c_Print(lua_State* L) // 返回值为压入栈中元素的个数 { // 从参数列表中,获取元素 string strVersion = luaL_checkstring(L,1); cout<
        
         
运行结果:



】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇SDUT OJ 1124 飞越原野 (三维BFS.. 下一篇Effective C++:条款30:透彻了解..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: