• # .

    Posté par . En réponse au message essayer de recupérer l'adresse de retour d'une fonction. Évalué à 8.

    Salut,

    Le plus simple est d'ajouter un niveau d'indirection à adresseDeRetour :

     void (**adresseDeRetour) (void) = (ptr + 28);
    

    Sinon ton appel saute dans la pile (à l'adresse où se trouve l'adresse de retour).

    Autre problème : tu ne restaures pas le cadre de pile de l'appelant. Quand tu rends la main à main() (pour ainsi dire), on reste dans addOne() en réalité et à la fin de main(), on revient après l'appel de addOne(). Ajoute un printf("coucou2\n"); après l'appel à addOne() et tu verras que "coucou2" sera affiché deux fois.