Lua的require机制
Lua 是通过require 函数来加载模块的,只需提供模块的名字,即可通过require(modname)来加载模块
Lua 是如何通过modname 来载入.lua 或 .so的呢
默认加载过程
- package.loaded[modname]中存了模块的数据,有则直接返回
- 顺序遍历package.searchers,获取loader
- package.preload[modname]
- Lua Loader, 通过package.searchpath搜索package.path
- C Loader, 通过package.searchpath搜索package.cpath
- All-In-One loader
- 调用loader载入模块
- 将载入结果保存至package.loaded[modname]并返回结果
本文详细介绍了Lua语言中require函数的工作原理。从查找已加载模块开始,到搜索、加载及缓存新模块的过程,深入剖析Lua如何实现模块的动态加载。
309

被折叠的 条评论
为什么被折叠?



