链接库、解释器和编译器
lua 是开源的,我们可以从官网下载源代码,其源代码是用纯 c 写的,因此如果想要在 c 项目中嵌入 lua 代码很简单,只需要把 lua 的源代码包含到 c 项目里面即可。但这肯定不是最好的方式,更好的方式是把 lua 源代码编译成链接库,要使用的时候直接包含链接库和必要的头文件即可。另外,除了在 c 或其它项目中使用 lua 之外,我们可能还要单独地执行 lua 文件,甚至直接在命令行交互式地执行 lua 语句,因此还要生成相应的 lua 解释器和 lua 编译器。
lua 解释器
编译 lua 源代码之后会生成一个 lua.exe 文件,这个文件就是 lua 解释器。解释器是一个独立的可执行程序,它能够直接执行一个 lua 源文件,比如 lua.exe hello.lua
;也能够直接执行一个 lua 语句,双击运行 lua.exe 之后会打开一个命令行窗口,在窗口中输入 print "hello world"
,可以看到屏幕上输出了 hello world,即 lua 解释器执行了这条语句。lua 是一门脚本语言,和许多脚本语言一样,lua 代码并不需要经过编译就可以直接运行,解释器的作用就是直接运行源代码。
把 lua 解释器所在的目录添加到系统环境变量,则可以在命令行中执行调用 lua 命令,命令行会通过环境变量自动找到 lua.exe 并运行它。比如我配置的环境变量
path = "...;D:\engine\lua5.3"
接下来看看如何通过 lua 源代码生成 lua 解释器,首先使用 visual studio 新建一个控制台项目,然后选择空项目
把 lua 源代码的所有头文件包含进来
把 lua 源代码除了 luac.c 之外的所有源文件包含进来
编译项目。编译成功之后就可以在 Debug 目录下看到一个 lua.exe 文件,这就是 lua 解释器,双击它可以看到