为什么 Lua 库是用 C 语言编写的?

我开始研究 Lua,但是我对如何嵌入 Lua 感到困惑:

它说:

您的程序还需要一个 C 或 C++ 编译器,因为 Lua 头文件和库是用 C 编写的。

那么,这意味着我执行 Lua 只需要一个 C/C++ 编译器,因为库和头文件是用 C 编写的。这意味着我编写和/或使用的所有库都是 C 代码?

我可能误解了它,但对于我来说,这意味着:

我编写一些 Lua 代码,然后在编译之前它被翻译成 C 代码?还是导入为库和编写 "Lua 代码" 之间有区别?

点赞
用户107090
用户107090

那些指令是为了将 Lua 嵌入到您的 C 或 C++ 程序中。在这种情况下,您需要与 Lua 的 C API 交互,以在程序内部运行 Lua 脚本。

如果您想要纯 Lua 编程,您只需要 Lua 解释器 lua

Lua 脚本在执行之前不会被转换为 C。

2018-07-11 13:45:18
用户5697743
用户5697743

另一个要提及的事情:许多 Lua 库(如 lua-socket)都是用 C 写的,所以你需要编译器来使用它们。

为什么要使用 C?因为它们做一些在纯 Lua 中 不可能 的事情(例如,与互联网工作),这是由于极其可移植的 Lua 特性造成的。

2018-07-11 18:22:44