出现了以下问题:必须确保 x64 程序的堆栈对齐。事情就应该如此。嗯,好的。对话者立即提出了一个选择:
start: push rax;
第二次还算顺利,没有任何问题。然后,后续与AI的沟通发现,再多做一点就好了:
start:
push rax; Выравниваем стек на 16 байт
; Ваш код
pop rax; Восстанавливаем значение rax (если нужно)
; Тут код завершение программы
随之而来的是,这有多么必要和重要pop rax
?据我所知,如果程序终止,内存无论如何都会被释放,对吗?但是有一个“但是”!!! “退出代码”如何正确工作?他到底需pop rax;
不需要这个“提前”?
请帮忙回答,或者至少提供建议!