給LUA新增自己的函式庫

2021-04-13 02:39:59 字數 1185 閱讀 9315

最近幾天,由於需要一組目錄遍歷的 函式,但標準庫裡面並沒有提供,所以才有自己寫一組:

1、新增乙個util.c檔案,檔案內容如下:

#include

#include

#include

#include

#define lutillib_c

#define lua_lib

#include "lua.h"

#include "lauxlib.h"

#include "lualib.h"

static int util_findfirst(lua_state *l)

return 3;

}static int util_findnext(lua_state *l)

else

return 3;

}static int util_findclose(lua_state *l)

static const lual_reg utillib = ,,,

};/*

** open util library

*/lualib_api int luaopen_util (lua_state *l)

2、在lualib.h裡面新增乙個庫建立函式定義以及庫名稱定義

#define lua_utilname "util"

lualib_api int (luaopen_util) (lua_state *l);

3、在init.c中新增庫

static const lual_reg lualibs = ,

這樣,就新增了乙個自定義的庫。編譯完之後就可以使用新的lua程式了,下在是乙個例子:

local handle,t,name = util.findfirst("d://lua-5.1.2//bin//*.*")

if handle == -1 then print("檔案不存在") return end

print(t)

print(name)

local pos, t, name = util.findnext(handle)

while pos == 0 do

print(t)

print(name)

pos, t, name = util.findnext(handle)

endutil.findclose(handle)

lua 函式庫彙總

1.assert value,message 功能 檢測錯誤 value 當value為nil或false時,觸發錯誤 message 當發生錯誤資訊時,預設返回 assertion failed 2.tonumber e,base 功能 嘗試將e轉化為數字,當不能轉化時返回nil base 2 3...

自己寫函式庫

大家現在寫 程式,是不是都是用新唐提供的函式庫?在體驗 開發板的一開始,我也是使用函式庫,畢竟這個太方便了。可是有一天,我發現乙個只使用時鐘和io以及 除錯串列埠的程式居然查過了16k的時候,我震驚了!天啊,這麼乙個簡單的 功能,需要這麼多的程式空間嗎?抱著懷疑的態度,我讀了新唐提供的庫。看完後,乙...

Lua中的table函式庫

一部分的table函式只對其陣列部分產生影響,而另一部分則對整個table均產生影響.下面會分開說明.table.concat table,sep,start,end concat是concatenate 連鎖,連線 的縮寫.table.concat 函式列出引數中指定table的陣列部分從star...