c 调用 lua 向lua函数 传递table
参考 https://www.myvoipapp.com/blogs/yxh/2016/07/14/c%E5%90%91lua%E5%87%BD%E6%95%B0%E4%BC%A0%E9%80%92table%E5%8F%82%E6%95%B0/
1.lua
- function showstr(str2)
- print("The string you input is " .. str2.name)
- end
1.c
- gcc -o 1 1.c -llua-5.1
- #include <stdio.h>
- //lua头文件
- #ifdef __cplusplus
- extern "C" {
- #include "lua.h"
- #include <lauxlib.h>
- #include <lualib.h>
- }
- #else
- #include <lua.h>
- #include <lualib.h>
- #include <lauxlib.h>
- #endif
- /*
- lua -> c
- https://www.cnblogs.com/coderkian/p/4057750.html
- https://www.cnblogs.com/pied/archive/2012/10/26/2741601.html
- gcc -o lua lua.c -llua-5.1
- https://www.cnblogs.com/sevenyuan/p/4511808.html
- */
- int main(int argc,char ** argv)
- {
- lua_State * L=NULL;
- /* 初始化 Lua */
- L = lua_open();
- /* 载入Lua基本库 */
- luaL_openlibs(L);
- /* 运行脚本 */
- int error = luaL_dofile(L, "./1.lua");
- if(error) {
- perror("luaL_dofile error");
- return ;
- }
- lua_getglobal(L,"showstr");
- lua_newtable(L); // 创建一个table
- lua_pushstring(L, "name"); //key为intVal
- lua_pushinteger(L,); //值为1234
- lua_settable(L, -); //写入table
- lua_pcall(L,,,);
- /* 清除Lua */
- lua_close(L);
- return ;
- }
c 调用 lua 向lua函数 传递table的更多相关文章
- C调用Lua中的函数解析table
Passing Tables to Lua Functions A use case that happens often is the passing of tables to and from L ...
- lua的克隆函数,table的深度拷贝
--深度拷贝Table function DeepCopy(obj) local InTable = {}; local function Func(obj) if type(obj) ~= &quo ...
- (原)lua使用ffi调用c程序的函数
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5812763.html 参考网址: http://luajit.freelists.narkive.co ...
- lua调用dll导出的函数
参考手册 hello.dll #include "pch.h" #include "lua.hpp" #pragma comment(lib, "lu ...
- Lua学习(4)——函数
在Lua中函数的调用方式和C语言基本相同,如:print("Hello World")和a = add(x, y).唯一的差别是,如果函数只有一个参数,并且该参数的类型为字符串常量 ...
- Lua中的函数
[前言] Lua中的函数和C++中的函数的含义是一致的,Lua中的函数格式如下: function MyFunc(param) -- Do something end 在调用函数时,也需要将对应的参数 ...
- lua加载函数require和dofile
lua加载函数require和dofile Lua提供高级的require函数来加载运行库.粗略的说require和dofile完成同样的功能但有两点不同: 1. require会搜索目录加载文件; ...
- lua学习之函数篇
函数 函数是对语句和表达式进行抽象的主要机制 两种用法 一是可以完成特定的任务,一句函数调用被视为一条语句 二是以只用来计算并返回特定的结果,视为一句表达式 print("Hello, Wo ...
- [lua]紫猫lua教程-命令宝典-L1-01-07. table表
L1[table]01. table表的定义与赋值 小知识:声明表的例子 xx={}--创建一个空表xx --给这表的元素赋值 test="a" xx[test]="a& ...
随机推荐
- 欢迎加入本人建的QQ群,讨论技术,生活及每天都有招聘信息
银狐AS3游戏2 3438131 银狐AS3Help 1803321 银狐U3D 167024653 银狐AS3转H5 467565102 本人在MSDN上的帐号 https://social.msd ...
- 新手教程: 如何在新浪云计算SAE里部署代码
感谢 sou6 的投递 时间:2011-11-22 来源:老夏博客 SAE自2011-7-10日起,全面支持SVN代码部署,用户不仅可以通过任何SVN客户端部署代码,而且SAE现有的代码部署方式也已经 ...
- [Plan]计划
1. scala 2. kafka 1. lua 2. openResty 1. 日志收集 - python 2. 代码生成 3. 权限系统
- json日期格式话
// 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占 ...
- MemoryUsage:监测java虚拟机内存使用
通过MemoryUsage可以查看Java 虚拟机的内存池的内存使用情况.MemoryUsage类有四个值(均以字节为单位): ===Init=== java虚拟机在启动的时候向操作系统请求的初始内存 ...
- XStream(xml/bean转换)
XStream 1. 什么作用 * 可以把JavaBean转换为(序列化为)xml 2. XStream的jar包 * 核心JAR包:xstream-1.4.7.jar: * 必须依赖包:xpp ...
- 删除右键菜单中的Git Gui Here、Git Bash Here的方法
修改注册表的方法: 1.点击左下角开始菜单 - 运行(输入regedit)- 确定或者回车: 2.在打开的注册表中找到:HKEY_CLASSES_ROOT,并点HKEY_CLASSES_ROOT前面的 ...
- CSS 伪类和伪元素--pseudo
总结在前: 0. 参考资料 1. 伪类和伪元素是不同的两种东西. 2. 伪类和伪元素都属于CSS选择器. 3. CSS引入伪类和伪元素是为了实现基于文档树之外的信息,i.e. 段落的第一行,的格式化. ...
- QGIS与Python
Qgis python开发教程(一):https://blog.csdn.net/u011435933/article/details/80419496
- windows在python基础上安装pip
首先你必须已经安装了python,并且配置好环境 键入pip 复制https://bootstrap.pypa.io/get-pip.py的内容并创建get-pip.py文件(该文件的内容就是刚刚复制 ...