【问题标题】:gcc linker options "--format binary"?gcc 链接器选项“--format binary”?
【发布时间】: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

【问题讨论】:

    标签: gcc linker


    【解决方案1】:

    -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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-29
      • 1970-01-01
      • 2012-05-16
      • 1970-01-01
      • 2012-04-15
      • 2012-01-27
      相关资源
      最近更新 更多