我可以通过内联汇编获得 %rsp 吗?

问题描述 投票:0回答:0

这个问题与这个问题相关:How can I access arguments 7+ using inline assembly?

我知道自己访问指针是非标准的,可能不安全,而且不可移植。

话虽如此,我想获取堆栈指针

%rsp
并将其值传输到C变量中。是否可以使用以下命令执行此操作?

int main()
{
  void extra_args;
  __asm__("mov %%rsp, %0": "=m"(extra_args));
  return 0;
}

我已经试过了,但它似乎没有指向正确的地方。上面的命令实际上是否将

%rsp
传递给
extra_args
变量?

c assembly x86-64 inline-assembly stack-pointer
© www.soinside.com 2019 - 2024. All rights reserved.