我可以创建一个1字节的局部变量吗?

时间:2015-01-06 15:17:16

标签: assembly x86 nasm

我想在我的函数中创建一个1字节的局部变量,所以我可以这样做,还是我必须创建一个额外的3个字节来对齐堆栈?

1 个答案:

答案 0 :(得分:0)

并不是严格要求保持堆栈对齐,但这取决于你实际在做什么。如果您只在代码中使用它可能没问题。如果调用操作系统函数,则可能会产生副作用。例如,我曾经在Windows CreateFile中遇到一个奇怪的错误,这是因为堆栈未对齐,错误消息完全是误导性的。花了我一段时间,直到我弄清楚出了什么问题。

虽然架构本身并不需要它。