tabla quién que interprete intermedio genera ejemplos cursos compilar compilador codigo linker lua luajit

linker - quién - tabla de codigo bytecode



Luajit: compilando bytecode en formato de objeto (1)

Incorpora el bytecode de un módulo en una matriz constante.

Si luego exporta esta matriz desde el archivo ejecutable o una biblioteca compartida, require podrá encontrarla allí (y por lo tanto no necesitará buscar el archivo fuente .lua ).

El manual de Luajit sobre la opción -b dice:

El tipo de archivo de salida se detecta automáticamente desde la extensión del nombre del archivo de salida:

  • Archivo fuente c - C, datos de byte exportados.
  • h - Archivo de cabecera C, datos estáticos de bytecode.
  • Obj o o: archivo de objeto, datos de bytecode exportados (específicos del sistema operativo y arquitectura).
  • sin formato o cualquier otra extensión - Archivo de código de bytes sin procesar (portátil).

¿Qué significa compilarlo para el archivo objeto ? Sé que produce un archivo que luego puede vincularse con otros archivos de objetos generados a partir del código C o C ++.

Pero, ¿cómo funciona esto? ¿Cómo se usaría el archivo objeto generado a partir de otro código C? ¿Y en qué situación lo harías?