}<br/>
[/code]</p>
<p>用以下命令编译并输出汇编代码：</p>
<p>[code lang=”shell”]<br/>
gcc -c -g -O1 test.c<br/>
objdump -S test.o<br/>
[/code]</p>
<p>可以看到，函数<code>a()</code>中没有为<code>if</code>生成代码，但是函数<code>b()</code>生成了。</p>
<p>[code lang=”c”]<br/>
Disassembly of section .text:</p>
<p>0000000000000000 &lt;a&gt;:<br/>
#include &lt;stdio.h&gt;;<br/>
#include &lt;stdlib.h&gt;;</p>
<p>void a()<br/>
{<br/>
0: 48 83 ec 08 sub $0x8,%rsp<br/>
in