我可以创建一个 1 字节的局部变量吗?
Can I create a 1 byte local variable?
我想在我的函数中创建一个 1 字节的局部变量,我可以这样做吗,或者我必须创建额外的 3 个字节来对齐堆栈?
并不严格要求保持堆栈对齐,但这取决于您实际在做什么。如果你只是在你的代码中有它可能没问题。如果您调用操作系统函数,它可能会产生副作用。例如,我曾经在 Windows CreateFile
中遇到一个奇怪的错误,这是因为堆栈未对齐,错误消息完全是误导性的。我花了很长时间才找出问题所在。
虽然架构本身并不需要它。
我想在我的函数中创建一个 1 字节的局部变量,我可以这样做吗,或者我必须创建额外的 3 个字节来对齐堆栈?
并不严格要求保持堆栈对齐,但这取决于您实际在做什么。如果你只是在你的代码中有它可能没问题。如果您调用操作系统函数,它可能会产生副作用。例如,我曾经在 Windows CreateFile
中遇到一个奇怪的错误,这是因为堆栈未对齐,错误消息完全是误导性的。我花了很长时间才找出问题所在。
虽然架构本身并不需要它。