这个问题与这个问题相关: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
变量?