【问题标题】:What's the output object file format of GNU assembler as?GNU 汇编器的输出目标文件格式是什么?
【发布时间】:2010-04-18 10:37:19
【问题描述】:

我检查了 GNU assembler as 的汇编程序选项,但没有找到指定输出目标文件格式的选项。如果我使用以下命令

as -o foobar.o foobar.s

我会得到什么目标文件格式?

as 手册说“GNU as 可以配置为生成几种替代的目标文件格式。”但是如何?如何将其更改为 ELF 格式?

非常感谢。

【问题讨论】:

    标签: c linux assembly gnu gnu-assembler


    【解决方案1】:

    在 linux 上,gas 的输出已经是 ELF,您不太可能有构建旧 a.out 格式的版本,或者您正在使用交叉编译器来构建 MachO 或 PE。

    【讨论】:

    • 感谢泰伦。我注意到在使用“NASM”汇编器时我可以指定不同的目标文件格式。看来 GNU "as" 在这方面不如 NASM。我必须使用“objcopy”来更改目标文件格式。 “as”有更直接的方法吗?
    • 我不认为你可以直接做,你总是不得不使用 objcopy。
    【解决方案2】:

    对特定格式(ARM、MIPS 等)使用交叉编译器

    在这里免费获取整个 CODESOURCERY 工具链:

    www.codesourcery.com/sgpp/lite_edition.html

    祝你好运!!

    【讨论】:

    • 感谢 CVS26。我没有进行交叉编译。 I386 是我的目标。我会试一试,如果我足够绝望的话......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多