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?