cs_Booster
Messages postés235Date d'inscriptionmercredi 30 octobre 2002StatutMembreDernière intervention 6 octobre 2009
-
9 sept. 2007 à 10:58
cs_Booster
Messages postés235Date d'inscriptionmercredi 30 octobre 2002StatutMembreDernière intervention 6 octobre 2009
-
9 sept. 2007 à 14:33
Bonjour à tous,
Alors voilà j'aimerais savoir que signifie __stdcall ? (devant une fonction) Car j'ai passé 3 heures à essayer de résoudre un problème et je me suis aperçu par hazard que c'est par ce qu'il manquait __stdcall devant ma fonction :(
Pour info en réalité je fais un hook et je remplace la foncion de départ par la mienne, et il faut absolument que la fonction que je vais injecté est __stdcall devant .... Pouquoi ?
racpp
Messages postés1909Date d'inscriptionvendredi 18 juin 2004StatutModérateurDernière intervention14 novembre 201417 9 sept. 2007 à 11:42
Salut,
__stdcall est une convention d'appel des fonctions. Les paramètres étant passés par la pile, son nettoyage se fait au sein de la fonction. Par défaut, le compilateur utilise la convention __cdecl. Ainsi, la pile doit être nettoyée dans le code qui appelle la fonction.
cs_Booster
Messages postés235Date d'inscriptionmercredi 30 octobre 2002StatutMembreDernière intervention 6 octobre 2009 9 sept. 2007 à 12:05
Ok je te remerci !
En fait, moi j'avais un énorme plantage lorsque je sortais de ma fonction qui était en Cdecl (par défaut). Mon erreur venait surement que la fonction qui m'appelait attendait que ma fonction vide la pile hors elle ne le fessait pas et du cou la pile était encore remplie des paramètres, ce qui posa problème !
Je te remerci !! ;)
PS : Si mon explication n'est pas plausible corrige moi :)
Vous n’avez pas trouvé la réponse que vous recherchez ?