如何使用gcc编译到程序集
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用gcc编译到程序集相关的知识,希望对你有一定的参考价值。
如何使用gcc编译为程序集而不是可执行文件。我知道有一个-S标志,但是在makefile中我在哪里使用它。例如,如果我使用标志-O3 -o exe_name,我应该在哪里放-S标志?
答案
我建议也使用-fverbose-asm
,因为生成的汇编程序有一些生成的注释,“解释”代码。例如:
gcc -S -fverbose-asm -O2 foo.c
将在foo.s
(带一些注释)生成汇编代码foo.c
生成的汇编代码
要了解GCC优化正在做什么,甚至可以尝试-fdump-tree-all
(但这会产生数百个文件!)。
另一答案
您可以要求GCC生成程序集文件,而不是目标文件(或可执行文件)。
例如:
gcc -Wall -c test.c
将从test.c(test.o)生成一个目标文件。
gcc -Wall -o test test.c
将从test.c生成一个名为'test'的可执行文件
gcc -Wall -S test.c
将从test.c(test.s)生成一个程序集文件
另一答案
把它放在任何地方。
gcc -O3 -S -o output.asm ...
将生成的程序集存储在qazxsw poi中。
以上是关于如何使用gcc编译到程序集的主要内容,如果未能解决你的问题,请参考以下文章