c++ - 一个特定调用的 c++ 堆栈对齐
问题描述
我func()
在程序集中实现了一个全局函数,在 C++ 源文件中声明为外部函数:
extern "C" void func(char*);
func()
要求堆栈以 32 字节对齐。现在,我可以:
- 强制我的所有调用以 32 字节对齐,将适当的标志传递给编译器
- 在汇编源代码中对齐堆栈
func()
- 以某种方式强制调用以
func()
32 个字节对齐,而不是默认的 16 个字节。
我不想做1。所以我的问题是,怎么做3?也许最有效的方法是强制对齐,如 2。
解决方案
推荐阅读
- java - 如何在heroku上访问本地网址
- python - 如何在python中获取字符串中的内容类型
- android - 如何在 kotlin 中为可组合函数创建一个组合其他注解的注解?
- python - 如何在 mac os 上实时截屏(如视频捕获)?
- kubernetes - 谷歌 kubernetes 暴露 Elasticsearch 服务
- android - 这是 LeakCanary 自动“转储堆”但未发现任何泄漏的预期行为吗?
- python - svm中rbf内核的坐标和内核空间之间的最小距离
- python - 如何从反应构建文件夹加载 django 服务器中的 favicon?manifest.json 未找到错误
- heroku - 将组织 git repo 与 Heroku 连接起来
- c++ - C ++随机数每次都相同的序列