欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Lua作為C語言項目的配置文件實例

 更新時間:2015年04月23日 10:19:26   投稿:junjie  
這篇文章主要介紹了使用Lua作為C語言項目的配置文件實例,本文用Lua創(chuàng)建了一個配置文件,然后在C言語中解析它,需要的朋友可以參考下

想像一個場景:你的c程序需要有一個窗口,你想讓用戶可以自定義窗口大小。方法很多,比如使用環(huán)境變量,或鍵值對的文件。不管怎樣,你需要解析它。使用lua配置文件是個不錯的選擇。

首先,你可以定義如下的配置文件:

復制代碼 代碼如下:

--define window size
width = 100
height = 50

然后,我們寫個函數來解析它,使用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;
}


使用lua配置文件有什么好處呢?我想,大概有以下理由:
1.Lua為你處理了所有語法細節(jié)(包括錯誤)
2.配置內容可讀性好,甚至你可以寫上注釋。
3.可以很容易添加新的配置信息。
(完)

相關文章

  • Lua與C語言間的交互實例

    Lua與C語言間的交互實例

    這篇文章主要介紹了Lua與C語言間的交互實例,本文主要講解了Lua中調用C語言的方法和例子,需要的朋友可以參考下
    2014-12-12
  • C調用lua函數需要考慮的問題

    C調用lua函數需要考慮的問題

    這篇文章主要介紹了C調用lua函數需要考慮的問題,本文羅列了4條需要注意的問題,并給出了調用實例,需要的朋友可以參考下
    2015-04-04
  • Lua性能優(yōu)化技巧(六):最后的提示

    Lua性能優(yōu)化技巧(六):最后的提示

    這篇文章主要介紹了Lua性能優(yōu)化技巧(六):最后的提示,本文是系列文章的最后一篇,其它文章請參考本文的相關文章,需要的朋友可以參考下
    2015-04-04
  • Lua table簡明總結

    Lua table簡明總結

    這篇文章主要介紹了Lua table簡明總結,table是lua唯一的數據結構,table 是 lua 中最重要的數據類型,本文詳細講解了table的相關知識,需要的朋友可以參考下
    2014-10-10
  • 把Lua編譯進nginx步驟方法

    把Lua編譯進nginx步驟方法

    這篇文章主要介紹了把Lua編譯進nginx步驟方法,本文講解了操作步驟以及可能出現的錯誤解決方法,需要的朋友可以參考下
    2015-06-06
  • Lua編程中使用嵌套循環(huán)的使用教程

    Lua編程中使用嵌套循環(huán)的使用教程

    這篇文章主要介紹了Lua編程中使用嵌套循環(huán)的使用教程,是Lua入門學習中的基礎知識,需要的朋友可以參考下
    2015-05-05
  • Lua一維數組與多維數組的使用示例

    Lua一維數組與多維數組的使用示例

    今天小編就為大家分享一篇關于Lua一維數組與多維數組的使用示例,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • 淺談Lua的面向對象特性

    淺談Lua的面向對象特性

    這篇文章主要介紹了Lua的面向對象特性,包括對象和繼承等傳統OOP概念的幾個關鍵知識點,需要的朋友可以參考下
    2015-05-05
  • Lua中的基本數據類型詳細介紹

    Lua中的基本數據類型詳細介紹

    這篇文章主要介紹了Lua中的基本數據類型詳細介紹,本文詳細的講解了Lua中的8種基本數據類型,需要的朋友可以參考下
    2014-09-09
  • 使用nginx+lua實現信息訪問量統計

    使用nginx+lua實現信息訪問量統計

    這篇文章主要介紹了使用nginx+lua實現信息訪問量統計,功能很簡單,代碼也很簡潔,有需要的小伙伴可以參考下,然后自由擴展。
    2015-03-03

最新評論