elfrc es un programa que puede convertir archivos arbitrarios como imágenes, textos, datos binarios, etc en archivos de objetos ELF [Executable and Linkable Format] que luego se pueden vincular directamente al programa y acceder a ellos mediante nombres de símbolos simples definidos por el usuario. Esto es útil cuando se desea incrustar recursos directamente en un ejecutable, en lugar de tener que cargarlos desde archivos externos en tiempo de ejecución.
$ elfrc -o logo.o -s my_logo_data logo.png
Nota.- elfrc no interpreta el contenido del archivo, solo lo incrusta como datos binarios. Es responsabilidad del programador saber cómo interpretar estos datos, por ejemplo, como imagen PNG, archivo de texto, etc.
1.-
Ejemplo con un archivo config.txt que se desea incrustar en un programa.
$ elfrc -o config.o -s my_config_data config.txt
Escribir el código en C:
#include <stdio.h>
extern char my_config_data[]
extern int my_config_data_size
int main() {
printf("Configuración:\n%s\n", my_config_data);
printf("Tamaño del archivo de configuración: %d bytes\n", my_config_data_size);
return 0;
}
Compilar y enlazar el programa:
$ gcc -o config_program config_program.c config.o
Ejecutar el programa:
$ ./config_program
El programa imprimirá el contenido del archivo config.txt y su tamaño.