Tout d'abord bonjour,
J'ai un petit problème que je n'arrive pas à résoudre. Je m'explique : J'ai une procedure qui "compile" un fichier du type xxx.c en xxx.so. Ma premiere version fonctionne mais elle est trop limité a mon gout car elle ne me permet de compiler que un seul fichier bien précis.
Ancien code:
Le reste du code ne posant pas problème je vous ai allégé le code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 void * creation_plugin() { int resultat; /* Code retourne par les fonctions standards */ /* Compilation du programme plugin1.c : */ resultat = system("gcc -shared -fPIC -o plugin1.so plugin1.c -lm"); ... }
Nouveau code:
Mon problème apparait sur cette ligne fscanf((printf("gcc -shared -fPIC -o %s.so %s.c -lm",nom_fichier,nom_fichier)), "%s", fic); J'avais un doute avant de l'écrire maintenant j'en suis sur, celà ne marche pas. Mais je ne vois pas et je n'ai pas trouvé (certainnement car je ne sais pas vraiment ce que je dois chercher exactement) comment résoudre mon problème. Donc j'espère que vous pourrez m'aider.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 void * creation_plugin(char * nom_fichier) { int resultat; /* Code retourne par les fonctions standards */ char * fic = (char*) malloc(sizeof(256)); fscanf((printf("gcc -shared -fPIC -o %s.so %s.c -lm",nom_fichier,nom_fichier)), "%s", fic); /* Compilation du programme plugin1.c : */ resultat = system(fic); ... }
Merci d'avance.
Partager