SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: AnioN en Miércoles 9 de Mayo de 2007, 14:12

Título: Convención De Llamada
Publicado por: AnioN en Miércoles 9 de Mayo de 2007, 14:12
Hola, ultimamente estoy viendo en muchas funciones que usan lo que se llama "convención de llamada", mas que nada en la API de windows. Me pueden facilitar un link donde explique la diferencia entre las mismas y cuales existen?
Título: Re: Convención De Llamada
Publicado por: Eternal Idol en Miércoles 9 de Mayo de 2007, 14:38
Solo como aclaracion en lenguajes de alto nivel solo tenes que preocuparte por siempre usar la convencion de llamada de la funcion que llames. Estos son detalles de bajo nivel.

Calling conventions (http://msdn2.microsoft.com/en-us/library/k2b2ssfy(VS.71).aspx)
Título: Re: Convención De Llamada
Publicado por: Enko en Jueves 10 de Mayo de 2007, 00:04
Con el link de la msdn me surgieron dudas... :rolleyes:

Dice que la convencion "pascal" es obsoleta y que hay que usar una equivalente. ¿No es la misma que stdcall?

Por sierto, la única vez que vi que se usa la convencion __fastcall es en C++Builder de Borland en los eventeos de la VCL. ¿Hay algun otro lado donde se use? O es que crearon una convencion solo por Borland jaja.
Título: Re: Convención De Llamada
Publicado por: Eternal Idol en Jueves 10 de Mayo de 2007, 00:11
Cita de: "Enko"
Dice que la convencion "pascal" es obsoleta y que hay que usar una equivalente. ¿No es la misma que stdcall?

Si, supongo que mas bien lo que es obsoleto es el keyword.

Cita de: "Enko"
Por sierto, la única vez que vi que se usa la convencion __fastcall es en C++Builder de Borland en los eventeos de la VCL. ¿Hay algun otro lado donde se use? O es que crearon una convencion solo por Borland jaja.

En el Kernel se usa en algunas funciones, especialmente en el HAL.