objcopy把一种目标文件中的内容复制到另一种类型的目标文件中.



(1)将图像编译到可执行文件内

Q: 如何将一个二进制文件,比如图片,词典一类的东西做为.o文件,直接链接到可执行文件内部呢?

A:

$ objcopy -I binary -O elf32-i386 -B i386 14_95_13.jpg image.o

$ gcc image.o tt.o -o tt

$ nm tt | grep 14_95

0805d6c7 D _binary_14_95_13_jpg_end

00014213 A _binary_14_95_13_jpg_size

080494b4 D _binary_14_95_13_jpg_start


(2)使用objcopy把不用的信息去掉:

$ objcopy -R .comment -R .note halo halo.min


(3)

$ objcopy -R .note -R .comment -S -O binary xyb xyb.bin

-R .note -R .comment 表示移掉 .note 与 .comment 段

-S 表示移出所有的标志及重定位信息

-O binary xyb xyb.bin 表示由xyb生成二进制文件xyb.bin