Exécuter un programme dans un autre programme. [Résolu][C] - C - Programmation
Marsh Posté le 30-12-2006 à 10:55:13
mat445 a écrit : Bonjour, |
Merci - Toi aussi...
mat445 a écrit : Venons en au but, voilà j'aimerais savoir si à partir d'un programme qu'on appellera "TEST", on peut exécuter d'autres programmes suivant le choix de l'utilisateur, je sais qu'on peut faire ça en considérant ces autres programmes comme des fonctions. Donc je souhaiterais savoir s'il n'y avait pas d'autre(s) possibilité(s) que celle-là? Merci d'avance pour vos réponses.. |
Deux solutions:
1) tu transformes tous tes programmes en fonction. Il suffit de renommer chaque "main" en un nom unique et si chaque source utilise des fonctions bien à lui, tu mets ces fonctions en "static" pour qu'elles ne soient vus que dans le source en question. Puis tu écrits ton "test.c" avec son main, tu compiles tous tes sources en modules objet ainsi que "test" puis tu linkes le tout en un exécutable
Détail ici (pour Unix) http://fr.lang.free.fr/cours/Gener [...] t_v1.0.pdf
2) tu crées un programme "test" destiné à appeler différents programmes externes => la fonction "system()" est faite pour ça. Si t'es sous unix et apparentés, tu peux aussi utiliser les fonctions "exec" ("les" parce qu'il y en a plusieurs) => execl, execv, execle, execve, execlp, execvp qui ont chacune leur particularité => détails ici: http://fr.lang.free.fr/cours/Processus_Csyst_v1.0.pdf
Marsh Posté le 30-12-2006 à 11:00:58
Merci Sve@r pour ta réponse, au fait je tourne sous windows et j'utilise ChSCiTE comme éditeur, je programme qu'occasionnellement. Je vais regarder ce que tu m'as donné de plus près.
Merci encore a+...
Marsh Posté le 31-12-2006 à 09:37:22
Sous Windows il me semble qu'il existe les fonctions ShellExecute et WinExec, ou tout simplement CreateProcess...
Marsh Posté le 01-01-2007 à 23:46:57
WinExec, c'était pour Windows 3.1 si je me souviens bien.
C'est plutôt ShellExecute(Ex) si tu ne veux pas garder la main, ou CreateProcess si on veut attendre la fin du process lancé.
Marsh Posté le 03-01-2007 à 20:34:51
ReplyMarsh Posté le 03-01-2007 à 21:43:50
Ange_blond a écrit : system("commande_a_executer" ) |
Oui, bon t'as que 4 jours de retard... mais nous apprécions ton intervention...
Marsh Posté le 03-01-2007 à 22:01:48
J'ai bien vu que ca avait déjà été dit merci...
mais comme ca commençai à diverger je me suis permis d'appuyer mon choix...
Marsh Posté le 03-01-2007 à 23:01:12
Ange_blond a écrit : J'ai bien vu que ca avait déjà été dit merci... |
yes...
Ange_blond a écrit : je me suis permis d'appuyer mon choix... |
Bien dit !!!
Marsh Posté le 03-01-2007 à 23:43:51
Ben si tu code en Java, ça doit pas etre défficile. tu peux meme faire des excécution parallèle avc les Threads.
Marsh Posté le 04-01-2007 à 10:13:16
asirem a écrit : Ben si tu code en Java, |
Oui, c'est assez courant dans un topic C...
asirem a écrit : tu peux meme faire des excécution parallèle avc les Threads. |
On peut aussi le faire en C
Marsh Posté le 04-01-2007 à 10:50:59
asirem a écrit : Ben si tu code en Java, ça doit pas etre défficile. tu peux meme faire des excécution parallèle avc les Threads. |
Genre, c'est evident, tout le monde code en java
Marsh Posté le 05-01-2007 à 21:46:07
Merci à vous tous pour votre aide. J'ai résolu mon problème.
A bientôt...
Marsh Posté le 30-12-2006 à 10:32:20
Bonjour,
Tout d'abord je vous souhaite à tous de passer d'agréables vacances et fêtes. Venons en au but, voilà j'aimerais savoir si à partir d'un programme qu'on appellera "TEST", on peut exécuter d'autres programmes suivant le choix de l'utilisateur, je sais qu'on peut faire ça en considérant ces autres programmes comme des fonctions. Donc je souhaiterais savoir s'il n'y avait pas d'autre(s) possibilité(s) que celle-là? Merci d'avance pour vos réponses..
A bientôt...
Message édité par mat445 le 05-01-2007 à 21:46:53