标签: assembly x86 nasm
我想在我的函数中创建一个1字节的局部变量,所以我可以这样做,还是我必须创建一个额外的3个字节来对齐堆栈?
答案 0 :(得分:0)
并不是严格要求保持堆栈对齐,但这取决于你实际在做什么。如果您只在代码中使用它可能没问题。如果调用操作系统函数,则可能会产生副作用。例如,我曾经在Windows CreateFile中遇到一个奇怪的错误,这是因为堆栈未对齐,错误消息完全是误导性的。花了我一段时间,直到我弄清楚出了什么问题。
CreateFile
虽然架构本身并不需要它。