为什么用C代码编写Lua库

时间:2018-07-11 13:31:04

标签: c lua

我已经开始对Lua进行一些研究,并且对embedded Lua的工作方式感到非常困惑:

  

由于Lua标头和库都是用C编写的,因此您的程序还需要C或C ++编译器。

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

我可能误解了这一点,但对我而言,这意味着:

我在Lua中编写了一些代码,然后在编译之前将其翻译成C代码?还是我导入为库和写为“ Lua-Code”之间有区别?

2 个答案:

答案 0 :(得分:4)

这些说明用于将Lua嵌入到C或C ++程序中。在这种情况下,您需要与Lua的C API交互以在程序中运行Lua脚本。

如果要使用纯Lua编程,则只需要Lua解释器lua

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

答案 1 :(得分:1)

要提及的另一件事:许多lua库(例如lua-socket)都是用C编写的,因此您需要编译器才能使用它们。

他们为什么使用C?因为它们具有极端的便携式lua性质,所以它们在纯lua中(例如,与Internet一起工作)做“不可能”的事情。