[C] EXECUTION D'UNE FONCTION PAR SON NOM

pop70 Messages postés 181 Date d'inscription mardi 6 avril 2010 Statut Membre Dernière intervention 7 janvier 2012 - 12 juil. 2011 à 14:26
pop70 Messages postés 181 Date d'inscription mardi 6 avril 2010 Statut Membre Dernière intervention 7 janvier 2012 - 24 juil. 2011 à 17:14
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/53372-c-execution-d-une-fonction-par-son-nom

pop70 Messages postés 181 Date d'inscription mardi 6 avril 2010 Statut Membre Dernière intervention 7 janvier 2012 10
24 juil. 2011 à 17:14
Merci, en effet j'avais 5 malloc et seulement 2 free. J'ai corrigé ça :)
gamemonde Messages postés 336 Date d'inscription samedi 9 août 2003 Statut Membre Dernière intervention 9 juillet 2011 2
19 juil. 2011 à 19:47
Attention beaucoup de malloc mais pas assez de free. tu as beaucoup de fuite de mémoire
pop70 Messages postés 181 Date d'inscription mardi 6 avril 2010 Statut Membre Dernière intervention 7 janvier 2012 10
12 juil. 2011 à 14:26
J'ai testé sur Windows et ça fonctionne, il faut juste :

POUR FAIRE TOUNER SUR WINDOWS :

.supprimer la ligne 167 (strcpy(commande, "./");)

.remplacer la ligne 169 : strcpy(commande + strlen(commande), " $(perl -e \'print "");
par strcpy(commande + strlen(commande), " $(perl -e "print \'");

.remplacer la ligne 188 : strcpy(commande + strlen(commande), "\')"); par strcpy(commande + strlen(commande), "")");

.remplacer la ligne 192 : strcpy(commande + strlen(commande), "\')");
par strcpy(commande + strlen(commande), "")");

.écire :
int r;
for(r=0; r < taille_commande; r++) {
commande[r] = 0;
}

à la place de la fonction bzero ligne 165.

.ajouter #include <string.h> pour les fonctions strlen et autres (si ce n'est pas déjà mis).

Voila, si vous avez des commentaires à faire, des bugs à signaler ou des idées pour améliorer le programme n'hésitez pas.
Rejoignez-nous