Sdílet prostřednictvím


_AddressOfReturnAddress

Konkrétní společnosti Microsoft

Obsahuje adresu umístění v paměti uchovává zpáteční adresu aktuální funkce.Tuto adresu nelze přístup jiných míst paměti (například argumenty funkce).

void * _AddressOfReturnAddress();

Požadavky

Vnitřní

Architektura

_AddressOfReturnAddress

x 86x64

Záhlaví souboru <intrin.h>

Poznámky

Při _AddressOfReturnAddress je používán program zkompilován s /clr, obsahující funkce _AddressOfReturnAddress volání je zkompilován jako nativní funkce.Při funkci zkompilován jako spravované volání do funkce obsahující _AddressOfReturnAddress, _AddressOfReturnAddress může chovat dle očekávání.

Tato rutina je pouze k dispozici vnitřní.

Příklad

// compiler_intrinsics_AddressOfReturnAddress.cpp
// processor: x86, x64
#include <stdio.h>
#include <intrin.h>

// This function will print three values:
//   (1) The address retrieved from _AddressOfReturnAdress
//   (2) The return address stored at the location returned in (1)
//   (3) The return address retrieved the _ReturnAddress* intrinsic
// Note that (2) and (3) should be the same address.
__declspec(noinline)
void func() {
   void* pvAddressOfReturnAddress = _AddressOfReturnAddress();
   printf_s("%p\n", pvAddressOfReturnAddress);
   printf_s("%p\n", *((void**) pvAddressOfReturnAddress));
   printf_s("%p\n", _ReturnAddress());
}
 
int main() {
   func();
}
  

Viz také

Referenční dokumentace

Vnitřní funkce kompilátoru

Klíčová slova jazyka C++