【发布时间】:2013-11-29 04:41:39
【问题描述】:
以下命令中“--format binary”选项的含义/用法是什么?。
ld -m elf_x86_64 --format binary --oformat elf64-x86-64 -r stub -o stub-image.o
【问题讨论】:
以下命令中“--format binary”选项的含义/用法是什么?。
ld -m elf_x86_64 --format binary --oformat elf64-x86-64 -r stub -o stub-image.o
【问题讨论】:
-format binary 选项表明输入文件(在本例中名为 stub)是原始二进制数据块。
您显示的命令采用此“blob”并将其包装在 elf 文件中,类似于编译器创建的其他对象,并且适合链接到程序中。如果您有一个 ROM 编程工具,例如,它需要 elf 数据而不是原始二进制文件,这种技巧也很有用。
blob 被放置在.data 部分,并为您创建了三个符号(也称为变量):
_binary_stub_start_binary_stub_end_binary_stub_size如果您将stub-image.o 与 C 程序链接,以通常的方式,那么您可以像这样访问数据(您可以选择任何合适的指针类型):
extern char *binary_stub_start;
【讨论】: