该函数旨在获取栈的起始地址:
unsigned long find_start(void){
__asm__("movq %rsp, %eax");
}
编译时出现错误:
Error: suffix or operands invalid for `movq'
最佳答案
movq
是一条需要 64 位操作数的指令。 rsp
是一个64位的寄存器,而eax
是一个32位的寄存器。
也许试试 rax
?
关于c - 这个声明在 x86-64 上有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5691345/