Signification de CALLBACK

Signaler
Messages postés
31
Date d'inscription
mercredi 21 juillet 2004
Statut
Membre
Dernière intervention
15 décembre 2006
-
Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
-
svp est ce que qlq'un pourait m'expliquer ce que veut dire CALLBACK qu'on utilise dans la programmation WIN32 dans la fonction de gestions des messages.
Merci

9 réponses

Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,

CALLBACK est une convention d'appel équivalente à WINAPI
donc à __stdcall. Elle précise aussi, pour celui qui lit ou conçoit le
code, qu'il s'agit d'une fonction de type callback. Une fonction de ce
type est appelée par un événement comme un message Windows etc...
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
(Je me permets de rajouter un petit truc a propos de __stdcall) : cette convention d'appel signifie que la procedure appelante empile les parametres de la fonction appellée, et c'est a la fonction appellée de depiler les parametres.

+2(p - n)
Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
Merci de rajouter cette chose que tout le monde comprend bien évidemment lol

Ca sert à quoi de dépiler en faite ?
void Aurevoir( void ); //Bonne journée
Messages postés
371
Date d'inscription
dimanche 4 janvier 2004
Statut
Membre
Dernière intervention
23 septembre 2009

Callback n'est pas spécifique à Win32, c'est un terme générique.

Cordialement,
Xterminhate.
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
Joky > Tu connais les 'piles' (LIFO & co) ? En gros, la pile a un etat initial, une fois que tu empiles quelque chose, il te faut le depiler pour que la pile revienne dans son etat initial, d'ou la nécessité de depiler. En C, la convention d'appel par defaut est _cdecl, qui signifie que la procedure appelante s'occupe d'empiler et dépiler les params. (il existe aussi __fastcall qui passe les params par les registres).

+2(p - n)
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
Jocky > imagine une pile d'assiette,

sauf que là c'est des valeur



et qu'on a accès qu'au sommet de la pile



les piles sont des emplacements prévues par le système pour échanger
des données et faire des sauvegarde de contexte (états) afin de pouvoir
rétablir l'état initial après des traitements...



+ d'info dans les cours en ligne....



++

___________________________________________________________
Magicalement
Nono
Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
Mdr les images que vous me donner :p

Une pile d'assiette :)



Mais pourquoi alors on dépile pas les paramètres de toute les fonctions ????
void Aurevoir( void ); //Bonne journée
Messages postés
1878
Date d'inscription
jeudi 16 octobre 2003
Statut
Membre
Dernière intervention
16 mars 2011
1
ça se passe de façon masquée dès que tu fais un appel de fonction



si tu veux l'observer, débug en mode assembleur et surveille les PUSH et autre POP

___________________________________________________________
Magicalement
Nono
Messages postés
1787
Date d'inscription
lundi 22 novembre 2004
Statut
Membre
Dernière intervention
31 janvier 2009
2
Non non lol jte crois :D

L'assembleur ça me fait peur

void Aurevoir( void ); //Bonne journée