__builtin_return_address(0)和ra寄存器具有不同的值

时间:2017-08-27 13:49:08

标签: c gcc mips inline-assembly

我正在使用MIPS和GCC编译器。

 register unsigned r_a __asm("31");
    __asm("" : "=r" (r_a));
 returnAddress_builtin = (void*)__builtin_return_address(0);
 returnAddress_ra = (void*)r_a;

r_a应该保存ra寄存器值并__builtin_return_address(0) 产生当前函数的返回地址。 就我而言,他们并不平等。怎么可能?

0 个答案:

没有答案