4

关于-b选项的 Luajit 手册说:

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

  • c — C 源文件,导出的字节码数据。
  • h — C 头文件,静态字节码数据。
  • obj 或 o - 对象文件,导出的字节码数据(特定于操作系统和体系结构)。
  • raw 或任何其他扩展 - 原始字节码文件(便携式)。

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

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

4

1 回答 1

3

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

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

于 2013-05-31T20:32:39.800 回答