什么是 "loadall.so"?

What is "loadall.so"?

使用 luajit 查看默认 Lua cpath:

luajit -e "print(package.cpath)"

我得到:

./?.so;/usr/local/lib/lua/5.1/?.so;/usr/local/luajit/lib/lua/5.1/?.so;/usr/local/lib/lua/5.1/loadall.so

loadall.so 的目的是什么?它实际上并不存在于我的 Linux 系统中。

当您 "require" 模块时,cpath 会显示 Lua 查找模块的位置。它会尝试用分号分隔的地方,替换“?”带有所需模块的名称。 loadall.so 是一个万不得已的地方,有点不得已。如果它存在(注意:不需要它存在),那么 Lua 将加载它并查看它是否在其中找到模块代码。