3、C++程序读取Lua的Table——1

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

    Table是Lua里面特有的数据结构。要想在C语言中访问这种数据结构需要使用lua提供的一系列函数才行。其实,很简单,仅仅涉及到几个小函数。废话少说,上代码。

代码

LuaTable.lua

 luat_Test={a=123, b=456,c=789}

LuaTable.cpp

 #include <lua.hpp>
// 获取Table的Item
static void GetTableItem(lua_State *L, const char* lpszTableName, const char* lpszTableItem)
{
    lua_getglobal(L, lpszTableName);     // 获取Table    
    lua_pushstring(
5、C++读取LuaTable的内容 背景知识首先,我们来简单了解一下lua中的TableTablelua中唯一内置的数据结构类型。也就是说,它没有内置list、array、map、set等等数据结构类型。在lua里面那些数据类型都是通过Table来实现的。在lua中的,Table是非常强大和重要的。当我们需要将lua嵌入到应用程序里面的时候,不可避免的需要操作Table。本文就来讨论一下如何在C语言读取LuaTable 阅读详情

相关推荐

Lualua调用C++

接上一篇文章:C++调用Lua 本文在上一篇文章的基础上,使用Lua调用C++。使用文章:https://zhuanlan.zhihu.com/p/96848521 的方法。 本文的Lua版本为5.3.5 Lua调用C++ 具体过程为: 1Lua调用C++中的函数Average 2,Average返回结果给Lua #include <stdio.h> #include <string.h> #include <iostream> extern "C" { #inclu

weixin_42111061的博客 1321

Lua教程(3):C/C++调用LuaTable

读后感悟:这篇文章介绍了Lua栈的基本概念,如果想更深入了解,可以阅读更详细的资源和阅读调试lua源码。还讲了赋值和取值函数,这些函数你都可以查看手册,看看英文是如何介绍的,这里需要的注意的是lua_pushvalue、lua_remove、lua_insert函数,这些函数会改变栈顶元素或栈的位置。     lua_pushvalue:Pushes a copy of the element

cbbbc 1216

Lua学习笔记:C++操作Lua的表

C++操作Lua的表

孙君的空间站 2599

C/C++调用luatabletable包含函数table和变量

//环境:乌班图4.04 //安装软件:sudo apt-get install lua5.1和sudo apt-get install liblua5.1-dev //源文件分别为c.c和peizhi.lua //编译:g++ c.c -llua5.1      //-llua5.1:链接lua5.1的库 /* 下面是c.c的代码 */   #include &lt;stdio...

qq_25048473的博客 2137

C/C++访问Luatable元素方法总结

方式一: extern "C"{ #include #include #include }; #pragma comment(lib,"lua5.1.lib") int main() {  lua_State* L = luaL_newstate();    if (luaL_loadstring(L,"back= { 0.30, 0.10, 0 }")

zhangyulin54321的专栏 6411

Lua调用C++

Lua调用C++Lua调用C++具体过程为:Lua部分的代码如下:运行结果程序运行时栈內变化回到C++调用Lua上述是读取过程,然后可以在C++中修改table中的值lua调用C++函数一、C++函数定义二、注册函数三、C模块四、luaL_openlibs源码解析 Lua调用C++ 原文链接:https://blog.csdn.net/weixin_42111061/article/details/110310412 接上一篇文章:C++调用Lua 本文在上一篇文章的基础上,使用Lua调用C++。使用文

宁静致远的博客 5075

C/C++代码里面读取LuaTable

本教程将介绍Lua的栈及基本栈操作,同时还有如何在C/C++代码里面读取LuaTable

hanxiaoqiag的专栏 5789

c语言中怎么编程添加table,Lua教程(三):C语言C++中调用LuaTable示例

从写上一篇Lua的文章到现在,已经过去半月有余了,是时候让自己的Lua状态refresh一下了。本教程将介绍Lua的栈及基本栈操作,同时还有如何在C/C++代码里面读取LuaTable。理解LuaLua通过一个“虚拟栈”与C/C++程序进行数据交互,所有的Lua C API都是通过操作这个栈来完成相应的数据通信。 Lua的这个“虚拟栈”解决了C/C++程序Lua程序通信的两大问题:1.Lua...

weixin_35679269的博客 780

C++lua table 读取为 std::map 的一种办法

前置要求 lua51.dll 及相应的头文件。可参考Windows 下编译安装 Lua 5.3.5制作。lua53.dll 也可,相应修改链接库名称即可。 文件 -- 此文件保存为 test.lua GroundMaterialType = { BM_NULL = 0, BM_MUD = 1, BM_SNOW = 2, BM_SAND = 3, } GroundMaterialSoundEvents = { [GroundMaterialType.BM_NULL]

Hustlion 的技术博客 1155

c++获取luatable的数据

首先,我们来简单了解一下lua中的TableTablelua中唯一内置的数据结构类型。也就是说,它没有内置list、array、map、set等等数据结构类型。在lua里面那些数据类型都是通过Table来实现的。在lua中的,Table是非常强大和重要的。当我们需要将lua嵌入到应用程序里面的时候,不可避免的需要操作Table。本文就来讨论一下如何在C语言读取LuaTable的内容。

大猪的博客 7561

c lua语言教程,Lua教程(三):C语言C++中调用LuaTable示例

从写上一篇Lua的文章到现在,已经过去半月有余了,是时候让自己的Lua状态refresh一下了。本教程将介绍Lua的栈及基本栈操作,同时还有如何在C/C++代码里面读取LuaTable。理解LuaLua通过一个“虚拟栈”与C/C++程序进行数据交互,所有的Lua C API都是通过操作这个栈来完成相应的数据通信。 Lua的这个“虚拟栈”解决了C/C++程序Lua程序通信的两大问题:1.Lua...

weixin_39904116的博客 274

lua 调用文件中的函数调用_四、C++获得Lua的变量和Table的值

上两篇文章都已经把LuaC++函数的调用讲完了,这篇开始讲变量和Table的调用。这篇文章主要是讲C++怎么调用获得Lua中的变量和Table的值,并且把lua中的值打印出来。一、直接上代码:1、在Test.lua文件内添加如下代码:print "Hello, Lua Demo4!"name="my name is lua"nameTable={sex = "male", age=18}2、在L...

weixin_39957647的博客 357

C++/Lua联合开发】 (三) C++调用Lua

上篇讨论了 C 函数如何被 Lua 调用,反过来呢?C++ 程序如何读取 Lua 脚本里的变量、调用 Lua 函数、处理返回值?

sgzed的博客 520

Lua table - 看似简单的Lua表,竟然还有这么多没有留意的点

table就是Lua语言提供的数组,但是不同于Java、C++语言Lua table不仅是数组,还可以是Java语言中的Map,也就是table也可以存储键值对。这一点和PHP语言相...

u011296355的博客 1657

C++Luatable进行读取、修改和创建

C++代码: [cpp] view plain copy // LuaAndC.cpp : 定义控制台应用程序的入口点。   //      #include "stdafx.h"         #include      #include      using namespace std;           extern "C"

章志强的专栏 2191

C++:和Lua互传结构体(附带源码)

C++:和Lua互传结构体(附带源码)

欢迎来到我的博客!这里是一个专注于计算机技术的分享平台,涵盖编程开发、算法研究、系统架构、软件工程等多个领域。无论你是初学者还是资深开发者,都能在这里找到有价值的内容。 1777

C++lua传递表

C++程序: int main() { lua_State *L = luaL_newstate(); if (L == NULL) { return 1; } luaL_openlibs(L); //向lua传递表 lua_newtable(L);//创建一个表 lua_pushstring(L, "name");//压入key lua_pushstring(L, "...

化天际的相遇---博客 938

Lua教程(三):C语言C++中调用LuaTable示例

Lua教程(三):C语言C++中调用LuaTable示 这篇文章主要介绍了Lua教程(三):C语言C++中调用LuaTable示例,即在C语言C++读取、操作LuaTable,需要的朋友可以参考下 从写上一篇Lua的文章到现在,已经过去半月有余了,是时候让自己的Lua状态refresh一下了。本教程将介绍Lua的栈及基本栈操作,同时还有如何在C/C

猫哥 的沉淀、积累、总结。天天学习,好好向上...c/c++,嵌入式 linux,Android,HarmonyOS,AIOT) 790
上一篇: 2、C++程序中调用Lua函数
下一篇: 4、C++程序读取Lua的Table——2
xxNull
博客等级 码龄16年 11粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值