#include <stdio.h>
#include <string.h>
#include <lua.h>
#include <lauxlib.h>
#include <lualib.h> static int say_hello(lua_State *L)
{
const char *s = lua_tostring(L,1);
printf("hell,%s\n",s);
return 0;
} int main(void)
{
lua_State *L = luaL_newstate();;
luaL_openlibs(L); //写入全局变量 lua_pushnumber( L, 211 );
lua_setglobal( L, "hp" ); //lua_pop(L,2); //读取全局变量
lua_getglobal( L, "hp" );
int res = lua_tointeger(L, -1);
printf("%d\n",res); lua_pop(L,1); //设置一个有名称的table
lua_newtable(L); lua_pushinteger(L, 10025);
lua_setfield(L, 1, "id"); lua_pushinteger(L, 3);
lua_setfield(L, 1, "good_count"); lua_pushinteger(L, 100);
lua_setfield(L, 1, "count"); lua_pushinteger(L, 15);
lua_setfield(L, 1, "outlet_count"); lua_setglobal(L,"customer_table"); //读取table中的值
int result;
lua_getglobal(L,"customer_table");
lua_pushstring(L,"count");
lua_gettable(L,-2);
result = lua_tointeger(L,-1);
printf("%d\n",result);
lua_pop(L,1); lua_pushstring(L,"outlet_count");
lua_gettable(L,-2);
result = lua_tointeger(L,-1);
printf("%d\n",result);
lua_pop(L,1); //函数相互调用 lua_register(L,"say_hello",say_hello); const char* dosomething = " \
function dosomething(words)\
say_hello(words) \
end \
"; luaL_dostring(L,dosomething);
lua_getglobal(L, "dosomething");
lua_pushstring(L,"yexuqiang");
res = lua_pcall(L, 1, 1,0);
printf("res:%d\n",res); lua_close(L);
return 0;
}

c 使用lua 示例的更多相关文章

  1. Lua开发环境配置

    Lua(英语发音:/ˈluːə/)程序设计语言是一个简洁.轻量.可扩展的脚本语言,是葡萄牙语中“Luna”(月亮)的意思. Lua is a powerful, fast, lightweight, ...

  2. 【精选】Nginx模块Lua-Nginx-Module学习笔记(二)Lua指令详解(Directives)

    源码地址:https://github.com/Tinywan/Lua-Nginx-Redis Nginx与Lua编写脚本的基本构建块是指令. 指令用于指定何时运行用户Lua代码以及如何使用结果. 下 ...

  3. 用 Lua 控制 MIDI 合成器来播放自定义格式乐谱

    用 Lua 控制 MIDI 合成器来播放自定义格式乐谱 作者: FreeBlues 最新: https://www.cnblogs.com/freeblues/p/9936844.html 说明: 本 ...

  4. Nginx模块Lua-Nginx-Module学习笔记(二)Lua指令详解(Directives)

    源码地址:https://github.com/Tinywan/Lua-Nginx-Redis Nginx与Lua编写脚本的基本构建块是指令. 指令用于指定何时运行用户Lua代码以及如何使用结果. 下 ...

  5. lua工具库penlight--08额外的库(二)

    执行一系列的参数 类型说明符也可以 是' ('MIN '..' MAX)' 的形式. local lapp = require 'pl.lapp' local args = lapp [[ Setti ...

  6. Lua与C交换

    1.C调用Lua函数 (1) 首先要进行Lua的初始化,这个主要是lua_open和luaL_openlibs函数 (2)然后是解析并编译lua的代码,这个主要是luaL_dofile函数  (3) ...

  7. 考勤的lua脚本

    ngx.header.content_type = "text/plain;charset=utf-8" local cjson = require "cjson&quo ...

  8. 转载一篇将C/C++ 与lua混合使用入门讲的比较好的文章

    转自 http://www.open-open.com/home/space-6246-do-blog-id-1426.html Lua是一个嵌入式的脚本语言,它不仅可以单独使用还能与其它语言混合调用 ...

  9. 转载:lua和c的交互

    extern "C" { #include "lua.h" #include "lualib.h" #include "lauxl ...

随机推荐

  1. XSS防御和绕过2

    上一篇已经总结过,这里转载一篇,备忘 0x01 常规插入及其绕过 转自https://blog.csdn.net/qq_29277155/article/details/51320064 1 Scri ...

  2. OSCP-Kioptrix2014-2 漏洞利用

    pChart 2.1.3 文件包含漏洞 搜索漏洞 查看漏洞理由代码: hxxp://localhost/examples/index.php?Action=View&Script=%2f..% ...

  3. 公司最喜欢问的Java集合类

    java.util包中包含了一系列重要的集合类,而对于集合类,主要需要掌握的就是它的内部结构,以及遍历集合的迭代模式. 接口:Collection Collection是最基本的集合接口,一个Coll ...

  4. python 小记

    判断一个数是奇数还是偶数 #!/usr/bin/env python3 #_*_coding:UTF-8_*_ def pan(num): ==: print( str(num) + ' is: 偶数 ...

  5. python连接postgres方法

    Python使用PyGreSQL操作PostgreSQL: import pg def operate_postgre_tbl_product(): try: #db = pg.connect(dbn ...

  6. 利用PyMySQL模块操作数据库

    连接到数据库 import pymysql # 创建链接得到一个链接对象 conn = pymysql.Connect( host="127.0.0.1", # 数据库服务器主机地 ...

  7. 数据库——Oracle(7)

    1 索引(二):索引是用来提高查询的效率. 索引的优点和缺点: 优点:索引可以提高查询的速度. 缺点:创建索引会占用磁盘物理空间,而且添加索引,会减慢修改(insert,update,delete)数 ...

  8. AIX文件系统/var空间100%的问题

    一.问题说明/var/spool/mqueue目录下出现了多个df打头的文件,导致/var空间最终100% EBANK_P570_MAIN/var/spool/mqueue#ls -l total 8 ...

  9. Google Chrome Keyboard Shortcuts

    Navigation To do this Press this Open a new window Ctrl + N Open a new tab Ctrl + T Open a new windo ...

  10. Winform的高DPI问题

    现在的屏幕大部分都是高分屏,在这样的屏幕下开发winfrom软件就需要注意高DPI问题了 1.Form和UserControl的AutoScaleMode设置为Dpi 2.为项目添加应用程序清单文件( ...