Bas*_*tch 36
我建议也使用,-fverbose-asm
因为生成的汇编程序有一些生成的注释,"解释"代码.例如:
gcc -S -fverbose-asm -O2 foo.c
Run Code Online (Sandbox Code Playgroud)
将生成foo.s
(通过一些注释)编译生成的汇编程序代码foo.c
要了解GCC优化正在做什么甚至可以尝试-fdump-tree-all
(但这会产生数百个文件!).
Mac*_*ade 24
您可以要求GCC生成程序集文件,而不是目标文件(或可执行文件).
例如:
gcc -Wall -c test.c
Run Code Online (Sandbox Code Playgroud)
将从test.c(test.o)生成一个目标文件.
gcc -Wall -o test test.c
Run Code Online (Sandbox Code Playgroud)
将从test.c生成一个名为'test'的可执行文件
gcc -Wall -S test.c
Run Code Online (Sandbox Code Playgroud)
将从test.c(test.s)生成一个程序集文件
Mat*_*Mat 14
把它放在任何地方.
gcc -O3 -S -o output.asm ...
Run Code Online (Sandbox Code Playgroud)
将生成的汇编存储在output.asm
.