国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

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

2024-07-21 23:04:40
字體:
來源:轉載
供稿:網友

想像一個場景:你的c程序需要有一個窗口,你想讓用戶可以自定義窗口大小。方法很多,比如使用環境變量,或鍵值對的文件。不管怎樣,你需要解析它。使用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為你處理了所有語法細節(包括錯誤)
2.配置內容可讀性好,甚至你可以寫上注釋。
3.可以很容易添加新的配置信息。
(完)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高邑县| 盱眙县| 聊城市| 府谷县| 即墨市| 崇仁县| 玉环县| 根河市| 永宁县| 应城市| 忻州市| 大埔县| 包头市| 安宁市| 九台市| 沽源县| 海门市| 霸州市| 闽清县| 广宗县| 玉树县| 象州县| 平舆县| 灌南县| 如皋市| 德州市| 中西区| 同江市| 香河县| 土默特右旗| 泰顺县| 东安县| 盈江县| 越西县| 马关县| 东山县| 云梦县| 九龙县| 北京市| 龙泉市| 吉水县|