Compartir a través de


El paso y convenciones de nomenclatura de argumento

Específicos de Microsoft

Todos los argumentos se amplían a 32 bits cuando se pasan.Los valores devueltos también se amplían a 32 bits y se devuelven en el registro de EAX, a excepción de 8 estructuras de bytes, que se devuelven en el EDX: Pares de registro de EAX.Estructuras más grandes se devuelven en el registro de EAX como estructuras return ocultas de punteros.Los parámetros se insertan en la pila de derecha a izquierda.Las estructuras que no son PODs no se devuelvan en registros.

El compilador genera código de prólogo y de epílogo para guardar y restaurar los registros de ESI, de EDI, de EBX, y EBP, si se utilizan en la función.

[!NOTA]

Cuando un struct, unión, o una clase es devuelto de una función por valor, todas las definiciones de tipo sean iguales, el programa pueden producir errores en tiempo de ejecución.

Para obtener información sobre cómo definir el propio código de prólogo y de epílogo de función, vea llamadas de función descubiertas.

El compilador de Visual C/C++ admiten las convenciones de llamada siguientes.

Palabra clave

Limpieza de pila

El paso de parámetros

__cdecl

Llamador

Inserta los parámetros de la pila, en orden inverso (de derecha a izquierda)

__clrcall

no disponible

Cargue los parámetros sobre pila de expresión de CLR en el orden (de izquierda a derecha).

__stdcall

destinatario

Inserta los parámetros de la pila, en orden inverso (de derecha a izquierda)

__fastcall

destinatario

almacenado en los registros, entonces presionado en pila

__thiscall

destinatario

insertado en pila; puntero de this almacenado en ECX

Para obtener información relacionada, vea Convenciones de llamada obsoletos.

Específico de FINAL

Vea también

Referencia

Convenciones de llamada