Executer du code d'un fichier exterieur

Signaler
Messages postés
42
Date d'inscription
dimanche 14 novembre 2004
Statut
Membre
Dernière intervention
19 juillet 2006
-
Messages postés
338
Date d'inscription
samedi 9 août 2003
Statut
Membre
Dernière intervention
9 juillet 2011
-
Bonjour!

Je possède aujourd'hui un programme principal dans lequel je colle du code C écrit dans un autre fichier a l'aide d'un script Matlab. Le fait est que ce bout de code peut varier suivant les désirératas de l'utilisateur, qui n'est pas sensé aller trafiquer le code pour faire ses modifs. Ma question est donc de savoir comment faire en sorte que mon programme principal execute le code contenu dans le fichier utilisateur ? Ceci eviterait la manipulation de copier/coller du code dans le programme principal que l'utilisateur doit eviter.

Le fichier "utilisateur" est au format .c.
Merci

8 réponses

Messages postés
492
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2012
1
Ben sert toi de parametre passé au moment de l'execution !

TuRn3r
Messages postés
42
Date d'inscription
dimanche 14 novembre 2004
Statut
Membre
Dernière intervention
19 juillet 2006

Je ne suis pas sur de m'etre fait comprendre la. Je reexplique :
Mon programme principal se sert a un moment donné d'un bout de code représentant une cartographie moteur. Or pour tester le programme avec d'autres moteurs, j'ai créé un script sous Matlab, qui me récupère une cartographie moteur, et a partir de celle ci me crée un fichier contenant le code a executer dans le programme et dépendant de ce moteur bien précis. Donc le bout de code a executer dans mon prgramme se trouve sur un autre fichier, exterieur a la compilation du programme.
Messages postés
42
Date d'inscription
dimanche 14 novembre 2004
Statut
Membre
Dernière intervention
19 juillet 2006

Je ne suis pas sur de m'etre fait comprendre la. Je reexplique :
Mon programme principal se sert a un moment donné d'un bout de code représentant une cartographie moteur. Or pour tester le programme avec d'autres moteurs, j'ai créé un script sous Matlab, qui me récupère une cartographie moteur, et a partir de celle ci me crée un fichier contenant le code a executer dans le programme et dépendant de ce moteur bien précis. Donc le bout de code a executer dans mon prgramme se trouve sur un autre fichier, exterieur a la compilation du programme.
Messages postés
492
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2012
1
Ben si justement voila en gros ce n'est qu'un exemple bien sur, le code est moche mais l'idée est la :

int main (int argc, char** argv)
{
  if (strcmp(argv[1],"code1"))
    system("ton_prog_matlab1.m");
else
 if(strcmp(argv[1],"code2"))
    system("ton_prog_matlab2.m");
...

  return 0;
}

TuRn3r
Messages postés
475
Date d'inscription
dimanche 3 octobre 2004
Statut
Membre
Dernière intervention
11 août 2006
4
Tu fais compiler le code C en bibliothèque dynamique (DLL sous Windows,
SO sous Linux) et dans le programme principale tu charge la
bibliothèque et tu appel la fonction. C'est juste une suggestion.
Messages postés
338
Date d'inscription
samedi 9 août 2003
Statut
Membre
Dernière intervention
9 juillet 2011
2
la dll est la meilleur solution car ton code est proteger et il est executer car tu peux pas demander a ton programme d'executer un fichier .c .cpp car ce code ne sera pas compiler tu dois utiliser une lib ou creer un mmacro script ce que j'ai fais car moi aussi j'ai deja voulus faire cela .
Messages postés
30
Date d'inscription
vendredi 2 janvier 2004
Statut
Membre
Dernière intervention
10 février 2010

Il existe une autre solution, du moins avec LccWin32: Il est possible de charger dynamiquement des fichiers objets, mais cela ne fonctionne que sous windows.
Messages postés
338
Date d'inscription
samedi 9 août 2003
Statut
Membre
Dernière intervention
9 juillet 2011
2
a oui pourrais tu expliques son concepts sauf que c'est malheureuz sur le fais de le porter du code