5 gcc gnu visual-studio visual-c++
使用msvc,是否有相当于gcc的"__builtin_return_address"?
我正在寻找调用函数的地址,1级深.
Mic*_*ael 10
来自MSDN:
_ReturnAddress内在函数提供调用函数中指令的地址,该指令将在控制返回给调用者后执行
请注意,在某些平台上,由于尾部折叠,结果可能会产生误导 - 编译器可能会让您的内部函数返回2级深度.对于这样的代码,通常会发生这种情况:
int DoSomething()
{
return DoSomethingSpecial();
}
Run Code Online (Sandbox Code Playgroud)
编译器可以生成代码,因此DoSomethingSpecial直接返回到DoSomething的调用者.
此外,返回地址不可靠 - 足以做出安全决策,请参见此处.
归档时间: |
|
查看次数: |
2471 次 |
最近记录: |