日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Lua的require机制

發布時間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Lua的require机制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在Lua中,有模塊這個定義,加載一個模塊需要使用require函數,require是一個全局函數。

require有兩個寫法require("modname")和require "modname"

1.首先require函數會查找package.loaded表,檢測modname是否加載過,如果加載過,則不再加載,如果沒加載過,則繼續

2.require加載模塊的按照package.searchers序列的指引來查找加載器,使用另一個全局函數loader()實現,PS:package.searchers序列可以需改

3.默認的package.searchers序列如下:

  • 查詢package.preload[modname],如果有這個值,完工。通常返回為空
  • 查詢package.path路徑,如果有這個模塊,完工
  • 查詢package.cpath,如果有這個模塊,完工

如果在加載或運行模塊時有錯誤, 或是無法為模塊找到加載器,?require?都會拋出錯誤。

package.config?

一個描述有一些為包管理準備的編譯期配置信息的串。 這個字符串由一系列行構成:

  • 第一行是目錄分割串。 對于 Windows 默認是 '\' ,對于其它系統是 '/' 。
  • 第二行是用于路徑中的分割符。默認值是 ';' 。
  • 第三行是用于標記模板替換點的字符串。 默認是 '?' 。
  • 第四行是在 Windows 中將被替換成執行程序所在目錄的路徑的字符串。 默認是 '!' 。
  • 第五行是一個記號,該記號之后的所有文本將在構建?luaopen_?函數名時被忽略掉。 默認是 '-'。

package.cpath

這個路徑被?require?在 C 加載器中做搜索時用到。

Lua 用和初始化 Lua 路徑?package.path?相同的方式初始化 C 路徑?package.cpath?。 它會使用環境變量?LUA_CPATH_5_3?或 環境變量?LUA_CPATH?初始化。 要么就采用?luaconf.h?中定義的默認路徑。

package.loaded

用于?require?控制哪些模塊已經被加載的表。 當你請求一個?modname?模塊,且?package.loaded[modname]?不為假時,?require?簡單返回儲存在內的值。

這個變量僅僅是對真正那張表的引用; 改變這個值并不會改變?require?使用的表。

package.loadlib (libname, funcname)

讓宿主程序動態鏈接 C 庫?libname?。

當?funcname?為 "*", 它僅僅連接該庫,讓庫中的符號都導出給其它動態鏈接庫使用。 否則,它查找庫中的函數?funcname?,以 C 函數的形式返回這個函數。 因此,funcname?必須遵循原型lua_CFunction?。

這是一個低階函數。 它完全繞過了包模塊系統。 和?require?不同, 它不會做任何路徑查詢,也不會自動加擴展名。?libname?必須是一個 C 庫需要的完整的文件名,如果有必要,需要提供路徑和擴展名。funcname?必須是 C 庫需要的準確名字 (這取決于使用的 C 編譯器和鏈接器)。

這個函數在標準 C 中不支持。 因此,它只在部分平臺有效 ( Windows ,Linux ,Mac OS X, Solaris, BSD, 加上支持?dlfcn?標準的 Unix 系統)。

package.path

這個路徑被?require?在 Lua 加載器中做搜索時用到。

在啟動時,Lua 用環境變量?LUA_PATH_5_3?或環境變量LUA_PATH?來初始化這個變量。 或采用?luaconf.h?中的默認路徑。 環境變量中出現的所有 ";;" 都會被替換成默認路徑。

package.preload

保存有一些特殊模塊的加載器

這個變量僅僅是對真正那張表的引用; 改變這個值并不會改變?require?使用的表。

?

轉載于:https://www.cnblogs.com/ideaofnextcy/p/5984721.html

總結

以上是生活随笔為你收集整理的Lua的require机制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲精品视频观看 | 亚洲天堂美女视频 | www一级片 | 精品人人人 | 99热只有这里有精品 | 香蕉色网 | 天天综合网国产 | 日本中文字幕久久 | 超碰黄色| 欧美性色19p| 欧美超逼视频 | 日本高清不卡二区 | 中文字幕在线视频一区二区 | 精品久久无码视频 | 亚洲黄色录像片 | 欧美日韩少妇精品 | 91视频三区 | 99xav| 91香蕉在线看| 日韩国产在线一区 | 少妇做爰k8经典 | 中文字幕第10页 | 波多野结衣免费观看视频 | 午夜高清视频 | 欧美成人高清在线 | 日韩精品久久久久久久的张开腿让 | 欧美在线视频网 | 奇米影视四色在线 | 久久调教 | av小次郎收藏 | 欧洲-级毛片内射 | 欧美视频中文字幕 | 免费特级黄色片 | 欧美激情国产日韩精品一区18 | 波多野结衣高清视频 | 中文在线a√在线 | 艳妇乳肉豪妇荡乳av | 一区二区三区观看 | 日韩字幕在线 | 国产肉丝在线 | 欧美在线观看www | 日日碰狠狠躁久久躁蜜桃 | 成年人在线观看视频 | 国产精品国产精品国产专区不片 | 免费毛片播放 | 久久一区二区三区四区 | 自拍偷拍日韩 | 黄色片子一级 | 日韩中文一区二区 | 国产精品成久久久久三级 | 激情国产 | 成人污污视频在线观看 | 少妇被躁爽到高潮无码文 | 国产成人自拍在线 | 欧洲性生活片 | 亚洲毛片在线播放 | jizz中国少妇| 能看的av网站 | 60分钟 | 国产色播 | av免费播放| 亚洲欧美在线不卡 | 精品久久久久久久免费人妻 | 四虎在线视频免费观看 | 亚洲精品中文字幕在线观看 | 熟妇人妻中文av无码 | 综合av第一页 | 91青青视频 | 91精品综合久久久久久 | 一级特黄欧美 | 国产视频一区二区三区四区五区 | www.污网站| 97播播 | 久久99精品久久久久子伦 | 3d动漫啪啪精品一区二区中文字幕 | 91精品国产乱码久久久张津瑜 | 爽爽爽av | 丝袜操 | 欧美日韩专区 | 外国一级片 | 久久色在线观看 | 亚洲精品视频一区二区三区 | 爽爽淫人 | 中文字幕人妻一区二区在线视频 | 色香蕉网 | 91视频精选 | 无码久久av一区二区三区 | 91视频免费观看网站 | 国产一区二区三区色淫影院 | 欧美精品一区二区蜜桃 | 久久久久国产精品 | 国产伦精品一区二区三区妓女下载 | 91一二区 | 久久久艹 | 免费观看视频在线观看 | 欲色综合| 精品女同一区二区三区 | 日韩系列在线 | 日本欧美另类 |