Compartir a través de


_AddressOfReturnAddress

Específicos de Microsoft

Proporciona la dirección de la ubicación de memoria que contiene la dirección de retorno de la función actual. Es posible que esta dirección no se use para acceder a otras ubicaciones de memoria (por ejemplo, los argumentos de la función).

Sintaxis

void * _AddressOfReturnAddress();

Requisitos

Intrinsic Arquitectura
_AddressOfReturnAddress x86, x64, ARM, ARM64

Archivo de encabezado<intrin.h>

Comentarios

Si _AddressOfReturnAddress se usa en un programa compilado con /clr, la función que contiene la llamada a _AddressOfReturnAddress se compilará como una función nativa. Cuando una función compilada como administrada llama a la función que contiene _AddressOfReturnAddress, es posible que _AddressOfReturnAddress no se comporte según lo previsto.

Esta rutina solo está disponible como función intrínseca.

Ejemplo

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

// This function will print three values:
//   (1) The address retrieved from _AddressOfReturnAddress
//   (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();
}
0012FF78
00401058
00401058

FIN de Específicos de Microsoft

Consulte también

Intrínsecos del compilador
Palabras clave