首页 > 解决方案 > g++生成没有push和pop的汇编代码

问题描述

我发现 g++ 编译器在没有任何推送/弹出指令的情况下几乎不会生成汇编代码。它仅在进入/退出功能时使用。每次它在堆栈中放置字节时,它都会执行 2 或 3 条指令,例如:

movl    foo, %eax
subl    $4, %esp
movl    %eax, (%esp)`

安装的只是pushl foo. 这有什么原因吗?是更快还是什么?

谢谢你。

标签: c++gccassemblyg++

解决方案


推荐阅读