如何解决一个特定调用的 C++ 堆栈对齐
我有一个在汇编中实现的全局函数 func()
,在 C++ 源文件中声明为外部函数:
extern "C" void func(char*);
func()
要求堆栈按 32 字节对齐。现在,我可以:
- 强制我的所有调用以 32 字节对齐,将适当的标志传递给编译器
- 在
func()
的汇编源代码中对齐堆栈 - 以某种方式强制对
func()
的调用以 32 字节对齐,而不是默认的 16 字节。
我不想做 1。所以我的问题是,如何做 3?也许最有效的方法是强制对齐,如 2 所示。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。