假设我想嵌入一个data
在我的 C 可执行文件中调用的文件。
来自谷歌的结果是这个 linuxjournal 页面,上面写着objdump
这样使用
objcopy --input binary \
--output elf32-i386 \
--binary-architecture i386 data data.o
但是,这取决于计算机的体系结构,例如从它给出的上一个命令编译对象时i386 architecture of input file 'data.o' is incompatible with i386:x86-64 output
,我必须更改参数。
但是,使用 unix 工具xxd,我可以简单地使用 unsigned char 数组中的数据和长度为整数的 ac 源代码,并使用与设备无关的编译命令获得相同的结果。
data.o: data.c
gcc -c data.c
data.c: data
xxd -i data > data.c
首选方法是什么,为什么?