3

在我的构建链中,我需要这样做:

objcopy -I binary -O $BFDNAME -B $BFDARCH <this> <that>

为了将二进制文件转换为库形式。因为我希望其他人能够使用它,所以我需要知道如何在他们运行构建时从他们的工具链中获取 $BFDNAME 和 $BFDARCH。我可以通过对我已经构建的文件运行 objdump -f 在本地获取值,但是有没有更好的方法不会让我编译一次性文件只是为了获取配置值?

4

2 回答 2

3

谢谢你指出这一点,regularfry!您的回答帮助我找到了另一种无需指定架构即可工作的解决方案:

ld -r -b binary -o data.o data.txt

在我的系统(Ubuntu Linux,binutils 2.22)上,objcopy 和 ld 方法都产生相同的目标文件。

所有功劳归于: http ://stupefydeveloper.blogspot.de/2008/08/cc-embed-binary-data-into-elf.html

于 2012-07-31T14:43:56.273 回答
2

为了将来参考,答案似乎是这样的:输出中的第一个条目objdump -i是系统的默认本机格式。

于 2011-03-28T12:19:47.670 回答