编译器在 x86 和 x64 架构中在堆栈上分配变量时有什么区别?假设我有一个函数
foo(){
int i = 5;
i += 4;
}
这两种架构在堆栈上的分配方式有何不同?
最佳答案
对于 Microsoft 的 x64 ABI,请查看 http://msdn.microsoft.com/en-us/library/7kcdt6fy.aspx在“堆栈使用”下。它与他们的 x86 ABI 有很大不同。
其他 x64 ABI(Linux、OS X 等)可能与 Microsoft 的类似但略有不同。 GCC 的文档可能是开始寻找这些内容的好地方。
关于c++ - x86 和 x64 堆栈帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1798704/