GCC使用make文件生成汇编语言输出
我正在尝试为使用配置文件编译的程序生成汇编语言,并将其保存到文件中 我想生成与-S生成的排序输出相同的输出,但不幸的是,这不起作用,因为没有生成输出对象。一般情况如下:GCC使用make文件生成汇编语言输出,gcc,assembly,Gcc,Assembly,我正在尝试为使用配置文件编译的程序生成汇编语言,并将其保存到文件中 我想生成与-S生成的排序输出相同的输出,但不幸的是,这不起作用,因为没有生成输出对象。一般情况如下: make clean make distclean CFLAGS="-O1" ./configure --prefix="a/location/" CFLAGS="-O1" make make install 当CFLAGS还包含“-Wa,-a,-ad,-aln=assembly.lst”时,它会为输出文件生成以下内容:
make clean
make distclean
CFLAGS="-O1" ./configure --prefix="a/location/"
CFLAGS="-O1" make
make install
当CFLAGS还包含“-Wa,-a,-ad,-aln=assembly.lst”时,它会为输出文件生成以下内容:
1 .file "conftest.c"
2 .text
3 .globl main
5 main:
6 .LFB4:
7 .cfi_startproc
8 0000 B8000000 movl $0, %eax
8 00
9 0005 C3 ret
10 .cfi_endproc
11 .LFE4:
13 .comm x,4,4
14 .ident "GCC: (GNU) 4.4.6"
15 .section .note.GNU-stack,"",@progbits
DEFINED SYMBOLS
*ABS*:0000000000000000 conftest.c
/tmp/cc8eyzpq.s:5 .text:0000000000000000 main
*COM*:0000000000000004 x
我希望能产生更多,或者我误解了这些标志的作用。同样,我的目标是生成所有优化的代码作为汇编语言,类似于-S选项
谢谢 您看到的是
configure
期间测试运行的汇编代码。您还可以尝试CFLAGS=-save temps
@Jester如何从实际程序而不是测试运行中获得正确的汇编代码?谢谢假设configure
为实际生成选择了CFLAGS
,只需添加-save temp
就可以了。@Jester我恐怕只能得到相同的输出,assembly.lst包含与上面显示的相同的信息。不要使用-aln=assembly.lst
,并查找生成的扩展名为.s
的输出文件(应位于所有源旁边)。