如何用gcc将c源文件编译生成汇编代码

Posted by Beanocean on October 9, 2013

在初学习C语言的时候,对语言本身的内部原理并不是十分理解。有的时候遇到问题,去求助于网络时,发现一些博客或者论坛里的答案又是人云亦云,可信度不高,但又一直苦于没有好的办法能让自己去一探究竟。直到学了汇编语言,才真正找到了这样的工具。这里就介绍一下如何用gcc将C/C++的源文件编译成汇编代码。

1. 如何生生成汇编代码

gcc -S -o target.s source.c

注:使用gcc编译时使用-S(大写)选项即可,这样默认生成的汇编是AT&T风格的。

2. 如何生成intel风格的汇编

gcc -masm=intel -S -o target.s source.c

注:添加-msam=intel编译选项即可。关于AT&T和Intel风格的区别可以参考:AT&T和Intel汇编语言的比较