最简单的方法来组装/编译文件,没有其他ELF /对象膨胀

baz*_*azz 3 assembly gcc solaris object strip

我无法相信这似乎有多难.我使用的是SPARC Solaris 8.我们有一些GNU-gcc(3.4.2)和'as'汇编程序(Sun WorkShop 6 2003/12/18 Compiler Common 6.0).

无论如何,我已经尝试了几种输出纯二进制文件的方法.如

gcc -c yadda.s
Run Code Online (Sandbox Code Playgroud)

或仅调用汇编程序

作为yadda.s

我还调查了汇编程序手册页,但我没有找到太多突发新闻.:( AS Man页面:http: //pastebin.com/0FSNxhq1

所以,我仍然在生成的目标文件中得到一些Bloat.我不希望这个前导50字节的ELF相关*或者汇编程序认为会帮助我初始化或者其他想法的任何东西.

我正在寻找的只是我的代码的纯二进制输出.

提前致谢 :)

ugh*_*fhw 7

汇编程序不输出可执行代码,它输出一个目标文件.要使其可执行,您需要使用它进行链接ld.此命令允许您指定输出格式,可以是二进制格式(如果您的构建支持它).

as yadda.s -o yadda.o
ld yadda.o -o yadda --oformat=binary
Run Code Online (Sandbox Code Playgroud)

您应该可以使用gcc在一行中执行此操作:

gcc yadda.s -o yadda -Xlinker --oformat=binary
Run Code Online (Sandbox Code Playgroud)