Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2546 connectés 

  FORUM HardWare.fr
  Programmation
  C

  [Résolu][C] Exécuter un programme dans un autre programme.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu][C] Exécuter un programme dans un autre programme.

n°1497264
mat445
Posté le 30-12-2006 à 10:32:20  profilanswer
 

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 cité 1 fois
Message édité par mat445 le 05-01-2007 à 21:46:53
mood
Publicité
Posté le 30-12-2006 à 10:32:20  profilanswer
 

n°1497268
Sve@r
Posté le 30-12-2006 à 10:55:13  profilanswer
 

mat445 a écrit :

Bonjour,
 
Tout d'abord je vous souhaite à tous de passer d'agréables vacances et fêtes.


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..
A bientôt...


 
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


Message édité par Sve@r le 30-12-2006 à 10:55:34

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1497269
mat445
Posté le 30-12-2006 à 11:00:58  profilanswer
 

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+...

n°1497473
Ace17
Posté le 31-12-2006 à 09:37:22  profilanswer
 

Sous Windows il me semble qu'il existe les fonctions ShellExecute et WinExec, ou tout simplement CreateProcess...

n°1497763
Trap D
Posté le 01-01-2007 à 23:46:57  profilanswer
 

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é.

n°1498441
Ange_blond
Posté le 03-01-2007 à 20:34:51  profilanswer
 

system("commande_a_executer" )
 
Fontionne tres bien...

n°1498470
Sve@r
Posté le 03-01-2007 à 21:43:50  profilanswer
 

Ange_blond a écrit :

system("commande_a_executer" )
 
Fontionne tres bien...


Oui, bon t'as que 4 jours de retard... mais nous apprécions ton intervention... [:petrus75]


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1498479
Ange_blond
Posté le 03-01-2007 à 22:01:48  profilanswer
 

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...

n°1498502
Sve@r
Posté le 03-01-2007 à 23:01:12  profilanswer
 

Ange_blond a écrit :

J'ai bien vu que ca avait déjà été dit merci...
mais comme ca commençai à diverger


yes...
 

Ange_blond a écrit :

je me suis permis d'appuyer mon choix...


Bien dit !!!


Message édité par Sve@r le 04-01-2007 à 10:11:38

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1498526
asirem
Posté le 03-01-2007 à 23:43:51  profilanswer
 

Ben si tu code en Java, ça doit pas etre défficile. tu peux meme faire des excécution parallèle avc les Threads.

mood
Publicité
Posté le 03-01-2007 à 23:43:51  profilanswer
 

n°1498595
Sve@r
Posté le 04-01-2007 à 10:13:16  profilanswer
 

asirem a écrit :

Ben si tu code en Java,


Oui, c'est assez courant dans un topic C... [:petrus75]

asirem a écrit :

tu peux meme faire des excécution parallèle avc les Threads.


On peut aussi le faire en C


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1498615
Ace17
Posté le 04-01-2007 à 10:50:59  profilanswer
 

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  :sarcastic:  

n°1499557
mat445
Posté le 05-01-2007 à 21:46:07  profilanswer
 

Merci à vous tous pour votre aide. J'ai résolu mon problème.
A bientôt...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [Résolu][C] Exécuter un programme dans un autre programme.

 

Sujets relatifs
[javascrip] Changer l'action d'un formulaire[ résolu][Perl] Récupérer valeur d'un programme Perl dans un batch
[résolu] update IF exists ELSE insert[résolu] Problème de mise à jour d'un champ
Css background d'un li au survol[Résolu] Evaluer la complexité de morceaux d'algo
[resolu]formulaire avec modification texte(couleur ,...)[Résolu] Bien sur IE, probleme sur Firefox
[Resolu] Comment lire dans un fichier ligne par ligne[Résolu] Javascript / AJAX - Problème de réponse de requete
Plus de sujets relatifs à : [Résolu][C] Exécuter un programme dans un autre programme.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR