Recuerdo haber visto en el pasado un programa que tomaría cualquier archivo y generaría una matriz en C que representara ese archivo como salida; en algunos casos, impediría la distribución de un archivo separado. ¿Qué programa Unix/Linux hace eso?¿Qué programa crea una matriz C dado un archivo?
28
A
Respuesta
63
4
hexdump -v -e '16/1 "0x%x," "\n"'
generaría una C como matriz a partir de la entrada estándar, pero no hay ninguna declaración, no hay llaves o bien formato.
3
10
Para archivos grandes, la conversión a texto y luego hacer que el compilador lo analice de nuevo es ineficiente e innecesario. Utilice objcopy
lugar:
objcopy -I binary -O elf32-i386 stuff stuff.o
(. Ajustar la arquitectura de salida según sea necesario para las plataformas que no son x86) A continuación, una vez que se vincula en su programa, se puede acceder a él de este modo:
extern char _binary_stuff_start[], _binary_stuff_end[];
#define SIZE_OF_STUFF (_binary_stuff_end - _binary_stuff_start)
...
foo(_binary_stuff_start[i]);
Cuestiones relacionadas
- 1. Un programa que crea otro programa
- 2. ¿Cómo se crea un programa independiente en C++?
- 3. Crea una matriz multidimensional dinámica
- 4. Creando una matriz de números que suman un número dado
- 5. ¿Puedo inicializar una matriz a un tamaño dado en Perl?
- 6. ¿Qué requiere un programa C++ para ejecutarse?
- 7. ¿Por qué Visual Studio crea un nuevo archivo .vsmdi?
- 8. Ordenar una matriz de números según un orden dado
- 9. ¿Qué significa 0xFE en un programa C?
- 10. ¿Cómo saber qué proceso está usando un archivo dado?
- 11. Incrustar un archivo ejecutable externo dentro de un programa C#
- 12. Cuando se crea una matriz mediante una subexpresión, ¿qué ocurre con los temporales en ella?
- 13. leyendo un archivo XML en un programa C++
- 14. ¿Por qué el compilador Delphi crea un archivo llamado 'c' durante una compilación de un proyecto específico?
- 15. Usando chmod en un programa C
- 16. ¿Cómo se crea una nueva matriz en VB.NET?
- 17. ¿Por qué open() crea mi archivo con los permisos incorrectos?
- 18. ¿Por qué eclipse crea un directorio .settings?
- 19. iOS crea el archivo
- 20. ¿Fopen crea un descriptor de archivo?
- 21. php exec() - mysqldump crea un archivo vacío
- 22. Cómo depurar un programa C
- 23. Hash MD5 dado una clave en C#
- 24. C# DateTime siempre crea un objeto nuevo?
- 25. Numpy: ¿Crea una matriz compleja a partir de 2 reales?
- 26. ¿Cómo encontrar una DLL dado un CLSID?
- 27. PHP fopen() no crea un archivo
- 28. Plugin de Eclipse: crea un nuevo archivo
- 29. Java: leer un archivo en una matriz
- 30. Java: seguridad Tipo: Se crea una matriz genérica de A para un parámetro varargs
Esa estrella una Pocos píxeles se hicieron para esta pregunta – xyz