博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Lua 跟 C++ 的交互
阅读量:4977 次
发布时间:2019-06-12

本文共 1488 字,大约阅读时间需要 4 分钟。

Lua 和 C++ 是这样交互的
乱七八糟的前戏:
1. 到官网下载 Lua 文件  可參考 ->  
2. 设置环境  可參考  ->  
交互过程有:
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.5extern "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.5extern "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<
<

lua_getglobal(L, "l_Print"); lua_pcall(L,0,0,0); // 调用lua 中的 l_Print 函数 lua_close(L); return 0; } /************************************* Lua.lua version = "Lua version: 5.1.5"; function l_Print() c_Print(version); end; print("Load LuaFile Accomplish"); *************************************/

执行结果:

转载于:https://www.cnblogs.com/jhcelue/p/7130318.html

你可能感兴趣的文章
接口和抽象类有什么区别
查看>>
Codeforces Round #206 (Div. 2)
查看>>
**p
查看>>
优先队列详解
查看>>
VS2012 创建项目失败,,提示为找到约束。。。。
查看>>
设计类图
查看>>
类对象
查看>>
[Voice communications] 声音的滤波
查看>>
SQL语言之概述(一)
查看>>
软件建模——第9章 毕业论文管理系统—面向对象方法
查看>>
[SDOI2008]洞穴勘测
查看>>
Difference between Linearizability and Serializability
查看>>
IDEA使用操作文档
查看>>
UIView
查看>>
添加日期选择控件
查看>>
bzoj4765: 普通计算姬 (分块 && BIT)
查看>>
看完漫画秒懂区块链
查看>>
Oracle命令类别
查看>>
stc12c5a60s2驱动TEA5767收音机模块硬件调试总结
查看>>
vue中提示$index is not defined
查看>>