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相关*或者汇编程序认为会帮助我初始化或者其他想法的任何东西.
我正在寻找的只是我的代码的纯二进制输出.
提前致谢 :)
汇编程序不输出可执行代码,它输出一个目标文件.要使其可执行,您需要使用它进行链接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)