一尘不染

如何使用gcc进行汇编

linux

如何编译为汇编而不是gcc可执行文件。我知道有一个 -S 标志,但是我在makefile中的哪里使用它。例如,如果我使用标志 -O3 -o
exe_name
,则应将-S标志放在哪里?


阅读 452

收藏
2020-06-07

共1个答案

一尘不染

我建议也使用它,-fverbose-asm因为生成的汇编器具有一些生成的注释,可以“解释”代码。例如:

gcc -S -fverbose-asm -O2 foo.c

将在foo.s(带有一些注释)中生成通过编译生成的汇编代码foo.c

要了解GCC优化正在做什么,甚至可以尝试-fdump-tree-all(但这会产生 数百个 文件!)。

2020-06-07