• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >Lua > 使用Lua作为C语言项目的配置文件实例

使用Lua作为C语言项目的配置文件实例

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了c语言调用lua,lua实例,lua脚本实例,lua游戏脚本实例,c lua等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

想像一个场景:你的c程序需要有一个窗口,你想让用户可以自定义窗口大小。方法很多,比如使用环境变量,或键值对的文件。不管怎样,你需要解析它。使用lua配置文件是个不错的选择。

首先,你可以定义如下的配置文件:
--define window size
width = 100
height = 50
</div>
然后,我们写个函数来解析它,使用lua API 来指导lua解析配置。,下面是完整的程序:
#include <stdio.h>
#include <string.h>
#include <lua.h>
#include <lauxlib.h>
#include <lualib.h>

void load(lua_State* L, const char* fname, int *w, int *h)
{
     if (luaL_loadfile(L, fname) || lua_pcall(L, 0, 0, 0)) {
          error(L, "error:%s", lua_tostring(L, -1));
     }
     lua_getglobal(L, "width");
     lua_getglobal(L, "height");
     if (!lua_isnumber(L, -2)) {
          error(L, "width shuld be num.");
     }
     if (!lua_isnumber(L, -1)) {
          error(L, "height shuld be num");
     }
     *w = lua_tointeger(L, -2);
     *h = lua_tointeger(L, -1);
}

int main()
{
     lua_State *L = luaL_newstate();
     luaL_openlibs(L);
     int w, h;
     load(L, "config", &w, &h);
     printf("%d,%d", w, h);
     return 0;
}
</div>
使用lua配置文件有什么好处呢?我想,大概有以下理由:
1.Lua为你处理了所有语法细节(包括错误)
2.配置内容可读性好,甚至你可以写上注释。
3.可以很容易添加新的配置信息。
(完)

</div>

您可能想查找下面的文章:

  • Lua编程示例(七):协同程序基础逻辑
  • 使用Lua作为C语言项目的配置文件实例
  • C语言中调用Lua函数实例
  • C语言模块回调Lua函数的两种方法
  • Lua与C语言间的交互实例
  • C语言中通过LUA API访问LUA脚本变量的简单例子
  • Lua和C语言的交互详解

相关文章

  • Lua学习笔记之数据结构
  • Lua编程示例(二):面向对象、metatable对表进行扩展
  • Lua学习笔记之数据类型
  • linux系统安装Nginx Lua环境
  • Lua极简入门指南(三): loadfile和错误处理
  • Lua中的全局变量、非全局变量总结
  • 理解Lua中的__index和__newindex
  • Redis教程(三):List数据类型
  • 深入解读Lua中迭代器与泛型for的使用
  • Lua的table库函数insert、remove、concat、sort详细介绍

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Lua函数与字符串处理简明总结
    • 让你的python代码更加pythonic(简练、明确、优雅)
    • 使用Lua来扩展C++程序的方法
    • Lua中的操作符和表达式总结
    • Redis教程(五):Set数据类型
    • 详解Lua中的数据类型
    • Lua简介、编译安装教程及变量等语法介绍
    • Lua中的数学库总结
    • Lua中函数的几个特别之处探究
    • Lua中的一些常用函数库实例讲解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有