Lua内嵌库概念

Lua内嵌库概念

          作为嵌入式语言,其实完全可以不提供任何库及函数。全部由宿主系统注入到State中即可。也的确有许多系统是这么用的。但Lua的官方版本还是提供了不少必要的库。尤其是一些基础函数如pairs,error,setmetatable,type等等,完成了语言的一些基本特性,几乎很难不使用。
         而coroutine,string,table,math等等库,也很常用。Lua提供了一套简洁的方案,允许你自由加载你需要的部分,以控制最终执行文件的体积和内存的占用量。主动加载这些内建库进入lua_State,是由lualib.h中的API实现的如果你静态链接Lua库,还可以通过这些API控制最终链入执行文件的代码体积。
        在lua5.0之前,Lua并没有一个统一的模块管理机制。这是由于早期Lua仅仅定位在嵌入式语言决定的。这些年,由更多的人倾向于把Lua作为一门独立编程语言来使用,那么统一的模块化管理就变得非常有必要。这样才能让丰富的第三方库可以协同工作。即使是当成嵌入式语言使用,随着代码编写规模的扩大,也需要合理的模块划分
         Lua 5.1引入了一个官方推荐的模块管理机制。使用require/module来管理Lua模块,并允许从C语言编程的动态库中加载扩展模块。在Lua5.2中有所简化。

你可能感兴趣的:(Lua内嵌库概念,Lua开发,Lua语言开发)