一个特定调用的 C++ 堆栈对齐

问题描述

我有一个在汇编中实现的全局函数 func(),在 C++ 源文件中声明为外部函数:

extern "C" void func(char*);

func() 要求堆栈按 32 字节对齐。现在,我可以:

  1. 强制我的所有调用以 32 字节对齐,将适当的标志传递给编译器
  2. func() 的汇编源代码中对齐堆栈
  3. 以某种方式强制对 func() 的调用以 32 字节对齐,而不是默认的 16 字节。

我不想做 1。所以我的问题是,如何做 3?也许最有效的方法是强制对齐,如 2 所示。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)