gpt4 book ai didi

linux - 为什么在返回 MEMORY 类型时返回 %rax 中的对象地址?

转载 作者:行者123 更新时间:2023-12-01 12:26:27 30 4
gpt4 key购买 nike

根据 AMD64 调用约定,当返回存储在内存中的对象时,步骤如下:

  1. 调用方为返回的对象分配内存并将地址作为隐藏参数传递到 %rdi 中。
  2. 被叫填写对象。
  3. 被调用者返回%rax中对象的地址。

我想知道为什么将第三个要求添加到标准中?内存已经由调用者分配,因此不需要提醒调用者是在哪里进行分配的。返回 %rax 中的内存地址有什么意义?

最佳答案

RDI 是字符串操作的目标索引,它的值可能会作为被调用方处理的一部分被覆盖。通过累加器 RAX 返回地址是有意义的。

关于linux - 为什么在返回 MEMORY 类型时返回 %rax 中的对象地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60579991/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com