Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Sobre CALLBACK

Iniciado por FabianSN, 14 de Mayo de 2008, 04:37:59 PM

« anterior - próximo »

FabianSN

Hola a todos, soy nuevo en el foro y tambien en programación en C.
Para foguearme un poco decidí agarrar unos ejemplos que vienen con las librerias DirectX 9.0c y ponerme a hacer lo que necesito, pero mis dudas son referidas a una instruccion¿? en particular.

Quisera que alguien me explicara de forma generica que hace la funcion? instruccion? CALLBACK

O sea, me gustaría saber que es CALLBACK, y cual es el sentido o la razón de usar CALLBACK y no de hacerlo de otra forma.

He buscado en manuales y Googleando y la verdad que he encontrado muy poco material que explique desde cero que hace esta función.

Desde ya, muchas gracias a todos.
etras de Canciones - http://www.la-letra.com

Mars Attacks

Callback hace... lo que tú quieras que haga :)
A ver cómo se puede explicar sin que se suicide uno... Jur... Hmmm... Imagina que tienes... no, espera... arfs... Me rindo.

Bueno, es una función de una clase a la que puedes registrarte y llamar automáticamente cuando quieras que se ejecute una determinada acción. En fin, dicho así suena exactamente a un método normal y corriente.

Creo que lo más fácil es: si no sabes lo que es, es que no lo necesitas :D

dinamic

Con clases lo desconozco, pero en C puedes hacer una función callback pasando como argumento un puntero a función.

Para más información:
http://en.wikipedia.org/wiki/Callback_%28computer_science%29

Un Saludo
My nick is dinamic because the day I registered in went through a serious crisis of originality.

davur

De tu mensaje uno puede interpretar varias cosas.

Personalmente, he interpretado que te refieres a la macro CALLBACK (es una macro, no una instrucción ni una función), definida en windef.h como

#define CALLBACK __stdcall

__stdcall es la convención de llamada estándar del API Win32. Una convención de llamada, básicamente, dicta el modo de pasar parámetros a una función y recibir un valor de la misma.

jalbam

Por lo que tengo entendido, en C, una función callback es una función que recibe a otra por parámetro (mediante un puntero). Tal como te han dicho arriba.

Yo a las funciones callback les veo una similitud con los eventos y delegados de C#. De hecho, muy a menudo callback y eventos/delegados se utilizan para tratar eventos.
-----
Juan Alba Maldonado

Tei

En la linea de lo que habeis contado otros, una de las funciones de la libreria basica de C es qsort, que  sirve para ordenar cadenas (o lo que sea), utilizando una funcion que tu le proporciones. Esta funcion no la tienes que llamar tu, sino que es la funcion de libreria la que la "llamara de vuelta" para hacer las comparaciones.

http://arantxa.ii.uam.es/~swerc/ole/ejemplos/csorting.html
Citar
Para la ordenación de un array de elementos en C se dispone de una función estándar denominada, qsort.  La interfaz de la función es:

void
qsort(void *base, size_t nel, size_t size, int (*compar)(const void *, const void *));

Esta función ordenada un array de nel elementos, donde base es un puntero al elemento inicial. El tamaño de cada elemento, en bytes, se especifica con el argumento size. Finalmente, compar es un puntero a una  función que se le pasa como argumento dos punteros a elementos a comparar, y devuelve un entero menor, igual o mayor que cero, segun el primer elemento sea menor, igual o mayor que el segundo.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.