哪个程序创build一个C数组给定任何文件?

我记得在过去看到一个程序,将采取任何文件,并生成一个代表该文件作为输出的C数组; 在某些情况下会阻止分配一个单独的文件。 哪个Unix / Linux程序呢?

Solutions Collecting From Web of "哪个程序创build一个C数组给定任何文件?"

xxd -i

对于大文件,转换为文本,然后让编译器再次解析它是没有效率和不必要的。 改用objcopy

 objcopy -I binary -O elf32-i386 stuff stuff.o 

(根据非x86平台的需要调整输出体系结构。)然后,一旦将其链接到程序中,就可以像这样访问它:

 extern char _binary_stuff_start[], _binary_stuff_end[]; #define SIZE_OF_STUFF (_binary_stuff_end - _binary_stuff_start) ... foo(_binary_stuff_start[i]); 
 hexdump -v -e '16/1 "0x%x," "\n"' 

会从标准输入生成一个类似C的数组,但是没有声明,没有大括号或格式良好。

我知道这是Unix / Linux的问题,但是任何查看这个想要在Windows中执行相同操作的人都可以使用Bin2H 。