C语言和Lua交互(二)
来源:互联网 发布:php二次开发是什么 编辑:程序博客网 时间:2024/05/29 17:33
C语言调用Lua文件
获取lua全局变量
新建config.lua配置文件,文件内容:
width=200height=300
同目录新建test.c文件
#include <stdio.h>#include <string.h>#include "lua.h"#include "lauxlib.h"#include "lualib.h"lua_State *L = NULL;static void loadConfig(int *w,int *h){ //读取config.lua文件的全局变量 lua_getglobal(L,"width");//把全局变量width压入栈 lua_getglobal(L,"height"); if(!lua_isnumber(L,-2)){ error(L,"width should be a number \n"); } if(!lua_isnumber(L,-1)){ error(L,"height should be a number \n"); } *w=lua_tointeger(L,-2); *h=lua_tointeger(L,-1);}int main(void){ L = luaL_newstate(); //打开Lua,创建一个新环境(新的Lua状态) luaL_openlibs(L); //打开标准库, 如: print, pcall //加载config.lua文件 if (luaL_loadfile(L,"config.lua") || lua_pcall(L,0,0,0)) { error(L,"can not run config file: %s",lua_tostring(L,-1)); } int width=0; int height=0; loadConfig(&width,&height);//从lua文件中加载配置 printf("width:%d,height:%d",width,height); lua_close(L);//关闭lua状态 return 0;}
编译代码:
gcc -lm -g -o test test.c /usr/local/lib/liblua.a -ldl
0 0
- C语言和Lua交互(二)
- Lua和C语言的交互(二)
- Lua和C语言的交互(二)
- Lua和C语言的交互
- Lua和C语言的交互详解
- C语言和Lua交互(一)
- C语言和Lua交互(三)
- C语言和Lua交互(四)
- C语言和Lua交互(五)
- C语言和Lua交互(六)
- C语言和Lua交互(七)
- Lua和C语言的交互详解
- C和lua交互
- lua和C交互
- c语言与lua交互(capi)介绍, lua调用C语言函数详解(二)
- c与lua交互 二
- Lua和C语言的交互(一)
- Lua和C语言的交互(三)
- IOS UIDynamicAnimator动力特效使用
- 数学-洛谷P1290 欧几里德的游戏
- 【Leetcode】437. Path Sum III
- 大型分布式网站架构技术总结
- 排序算法实现总结(Java)
- C语言和Lua交互(二)
- js算法
- QT QString根据路径获取文件名称以及所在文件夹等信息
- Linux修改用户最大线程数目和最大打开文件数目等
- 日期函数
- memcache总结
- preventDefault和stopPropagation使用
- testng浅析-dataProvider
- 我的Android成长之路(11)----Android之SharedPreferences用法详解