Lua源码模块分析

Lua源码模块分析,第1张

外部符号的前缀表示其来自的模块

在src / Makefile(5.1.1)中,mingw目标是不寻常的,因为它只构建lua(不是luac)。也可以添加mingw-cygwin目标。请参阅 BuildingLua中的 mingw注释来解决。

在SRC / luaconf.h(5.1.1),LUA_PATH_DEFAULT指的是LUA_LDIR和LUA_CDIR,但LUA_CPATH_DEFAULT仅指LUA_CDIR的这些。 RiciLake 建议这可能是一个安全决策,其中C模块需要比Lua模块更多的信任。

在src / luaconf.h(5.1.1)中,有一个LUA_CDIR"loadall.dll",在 [3] [4]中 讨论。

请参阅 GarbageCollection 和 EmergencyGarbageCollector中 的描述。

参见 LuaSourceTable

这在 BindingCodeToLua中 有所描述。

注意:“#define lmathlib_c”(和其他库中的类似行)只存在于luaconf.h中的条件(由lhf注释)。

程序开发中模块的理解是什么。

程序模块即可由汇编程序、编译程序、装入程序或翻译程序作为一个整体来处理的一级独立的、可识别的程序指令。

模块是大型程序指令的一个组成部分。 在Windows中,术语“模块”一般是指任何能被装入内存中运行的可执行代码和数据的集合。更明确地讲,模块指的就是一个.EXE文件(又称为应用程序模块),或一个动态链接库,或一个设备驱动程序,也可能是一个程序包含的能被另一个程序存取的数据资源。

模块一词也被用于特指自包含的一段程序。

简单来说,模块即可以说是功能的一部分,比如通信模块,也可以是一段程序,比如常量模块。

Lua 教程

lua

Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。

Lua 是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组于 1993 年开发的,该小组成员有:Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo。

设计目的

其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。

Lua 特性

轻量级: 他用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。

可扩展: Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。

其它特性:

支持面向过程(procedure-oriented)编程和函数式编程(functional programming);

自动内存管理;只提供了一种通用类型的表(table),用它可以实现数组,哈希表,集合,对象;

语言内置模式匹配;闭包(closure);函数也可以看作一个值;提供多线程(协同进程,并非 *** 作系统所支持的线程)支持;

通过闭包和table可以很方便地支持面向对象编程所需要的一些关键机制,比如数据抽象,虚函数,继承和重载等。

Lua 应用场景

游戏开发

独立应用脚本

Web 应用脚本

扩展和数据库插件如:MySQL Proxy 和 MySQL WorkBench

安全系统,如入侵检测系统

第一个 Lua 程序

接下来我们使用 Lua 来输出"Hello World!"

实例(Lua 5.3)

print("Hello World!")


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7994184.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存