对于大学我们需要为变量参数列表实现我们自己的va_start和va_arg(不使用库)。
这不是一个真正的问题,但是gcc和clang让我们很难过。
他们正在优化代码,以便参数通过寄存器而不是堆栈传递,这使我们的任务无法完成。
我已经尝试过使用优化-O0,但即使这样,他们似乎也会将它们传递给寄存器。
有没有办法禁用该功能?
最好的祝福 利奥修改 我们只使用64位计算机
EDIT2: 我找到了这个网站: https://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_17.html 它描述了定义参数是否在堆栈上传递的宏。 我能以某种方式使用这些marcos告诉gcc传递堆栈中的所有参数吗?
我和他们一起玩,但遗憾的是没有存档任何东西......