【发布时间】:2021-08-15 07:32:36
【问题描述】:
我从一本在线书籍中找到以下内容:
如果过程的参数超过 6 个,则将它们推送到 以相反的顺序堆叠(最后一个参数在前)。推入参数 反向顺序(如 32 位)允许具有可变数量的函数 参数(可变参数)
我没听懂最后一句话,以相反的顺序推送参数可以让我们先读取参数1,然后读取参数2,等等……但这真的有什么帮助?
如果 parameter1 包含我能理解的参数总数,但事实并非如此,因为像 printf 这样的函数可以在不提供我们传递的参数数量的情况下接受许多参数。
【问题讨论】:
标签: function assembly parameter-passing x86-64 calling-convention