如何编译为汇编而不是gcc可执行文件。我知道有一个 -S 标志,但是我在makefile中的哪里使用它。例如,如果我使用标志 -O3 -o exe_name ,则应将-S标志放在哪里?
我建议也使用它,-fverbose-asm因为生成的汇编器具有一些生成的注释,可以“解释”代码。例如:
-fverbose-asm
gcc -S -fverbose-asm -O2 foo.c
将在foo.s(带有一些注释)中生成通过编译生成的汇编代码foo.c
foo.s
foo.c
要了解GCC优化正在做什么,甚至可以尝试-fdump-tree-all(但这会产生 数百个 文件!)。
-fdump-tree-all