Lua C API 简介

Lua 也为它的虚拟机提供了一个合适的 C API。与 VM 本身相反,C API 接口是基于堆栈的。因此,与数据一起使用的大多数功能是在虚拟堆栈之上添加一些东西,或从中删除。此外,必须在堆栈中仔细使用所有 API 调用,这是它的局限性。

一般来说,Lua 语言中可用的任何东西都可以使用它的 C API 完成。此外,还有一些附加功能,如直接访问内部注册表,更改标准内存分配器或垃圾收集器的行为。

你可以通过在终端上执行以下命令来编译提供的 Lua C API 示例:

$ gcc -Wall ./example.c -llua -ldl -lm