MSVC rovnocenné ‚__builtin_return_address‘

hlasů
4

S MSVC, existuje ekvivalent GCC „__builtin_return_address“?

Dívám se najít adresu funkce volání, 1. úroveň hluboké.

Položena 18/05/2009 v 19:48
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
9

__Zpáteční adresa

Z MSDN:

_ReturnAddress vnitřní poskytuje adresy instrukce ve volání funkce, které budou provedeny po kontrole vrátí do volajícího

Poznamenejme, že na některých platformách, výsledek by mohl být zavádějící vzhledem k ocasu skládání - kompilátor může mít své vnitřní funkce return 2 úrovně hluboko. Tato situace může nastat, obyčejně pro kód, jako je tento:

int DoSomething()
{
   return DoSomethingSpecial();
}

Kompilátor mohl tvořit kód tak DoSomethingSpecial vrací přímo do volající DoSomething.

Také zpáteční adresa není důvěryhodný, stačí, aby se rozhodování ohledně zabezpečení naleznete zde .

Odpovězeno 18/05/2009 v 19:50
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more