Luajit:将字节码编译为目标格式。

Luajit手册中有关**-b**选项的说明如下:

输出文件类型会根据输出文件名的扩展名自动检测:

  • c — C源代码文件,导出的字节码数据。
  • h — C头文件,静态字节码数据。
  • obj或o — 对象文件,导出的字节码数据(OS和体系结构特定)。
  • raw或任何其他扩展名 — 原始字节码文件(可移植).

将其编译为对象文件是什么意思?我知道它会生成一个文件,然后可以将其与从C或C ++代码生成的其他对象文件链接起来。

但是这是如何工作的?如何使用其他C代码生成的生成的对象文件?在什么情况下会这样做?

点赞
用户12048
用户12048

它将模块的字节码嵌入到一个常量数组中。

如果你将这个数组从可执行文件或共享库中导出,require将能够在那里找到它(因此不需要搜索.lua源文件)。

2013-05-31 20:32:39