Passage d'informations d'un programme à un autre
Résolu/Fermé
fabinou87
-
Modifié par fabinou87 le 8/05/2013 à 16:11
fabinou87 Messages postés 30 Date d'inscription mercredi 8 mai 2013 Statut Membre Dernière intervention 9 mars 2016 - 8 mai 2013 à 19:47
fabinou87 Messages postés 30 Date d'inscription mercredi 8 mai 2013 Statut Membre Dernière intervention 9 mars 2016 - 8 mai 2013 à 19:47
A voir également:
- Passage d'informations d'un programme à un autre
- Entrer les informations d'identification reseau - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Programme demarrage windows 10 - Guide
- Passage qwerty azerty - Guide
- Desinstaller un programme - Guide
5 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
8 mai 2013 à 17:11
8 mai 2013 à 17:11
J'ai l'impression que tu n'as pas bien saisi le fonctionnement de fork. A mon avis, la famille exec*() sera plus utilise dans ton cas.
Pourrais-tu montrer ton code ? Ce sera plus simple pour t'aider.
Pourrais-tu montrer ton code ? Ce sera plus simple pour t'aider.
fabinou87
Messages postés
30
Date d'inscription
mercredi 8 mai 2013
Statut
Membre
Dernière intervention
9 mars 2016
2
8 mai 2013 à 17:58
8 mai 2013 à 17:58
Bonjour Fiddy, et merci de ta réponse =)
Oh si si j'ai bien compris, j'essayais juste de traiter plusieurs chaines du programme1 en parallèle pour gagner sur le temps d'exécution.
En revanche, j'ai un petit soucis pour intégrer le code dans ce message. Pour ne pas perdre de temps, je t'ai envoyé celui-ci par mp.
Oh si si j'ai bien compris, j'essayais juste de traiter plusieurs chaines du programme1 en parallèle pour gagner sur le temps d'exécution.
En revanche, j'ai un petit soucis pour intégrer le code dans ce message. Pour ne pas perdre de temps, je t'ai envoyé celui-ci par mp.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
8 mai 2013 à 18:41
8 mai 2013 à 18:41
J'ai vu une fonction system() -> utilise plutôt les familles exec() ou popen().
Sinon, souhaites-tu vraiment avoir deux programmes indépendants ? Et à partir de l'un appeler l'autre ?
Pourquoi ne pas pas mettre un .c supplémentaire dans ton projet ? Et d'appeler ses fonctions directement ? Ou sinon, pourquoi ne pas faire une bibliothèque (genre dll) qui contiendrait le code ?
Si tu souhaites vraiment appeler un programme indépendamment, tu peux utiliser la famille exec() ou popen().
Sinon, souhaites-tu vraiment avoir deux programmes indépendants ? Et à partir de l'un appeler l'autre ?
Pourquoi ne pas pas mettre un .c supplémentaire dans ton projet ? Et d'appeler ses fonctions directement ? Ou sinon, pourquoi ne pas faire une bibliothèque (genre dll) qui contiendrait le code ?
Si tu souhaites vraiment appeler un programme indépendamment, tu peux utiliser la famille exec() ou popen().
fabinou87
Messages postés
30
Date d'inscription
mercredi 8 mai 2013
Statut
Membre
Dernière intervention
9 mars 2016
2
8 mai 2013 à 18:53
8 mai 2013 à 18:53
Mais oui !!!
Effectivement, en créant un .h du programme2 et en l'incluant dans programme1, tout est beaucoup plus simple !
Je pourrais l'appeler facilement en mettant les paramètres que je souhaite et en utilisant des fork().
excellente idée, merci beaucoup !
Effectivement, en créant un .h du programme2 et en l'incluant dans programme1, tout est beaucoup plus simple !
Je pourrais l'appeler facilement en mettant les paramètres que je souhaite et en utilisant des fork().
excellente idée, merci beaucoup !
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
8 mai 2013 à 18:56
8 mai 2013 à 18:56
Mais de rien.
Pourquoi souhaites-tu utiliser des fork() ?
Pourquoi souhaites-tu utiliser des fork() ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
fabinou87
Messages postés
30
Date d'inscription
mercredi 8 mai 2013
Statut
Membre
Dernière intervention
9 mars 2016
2
8 mai 2013 à 19:24
8 mai 2013 à 19:24
Et bien en fait, dans programme1 le tableau[9][9] possède donc 9 chaînes de caractères.
tableau[4][3] représente par exemple le 4ème caractère de la 5ème chaîne.
Pour chacune de ces chaînes, je veux appeler programme2, qui va lui générer un certains nombre de chaînes de 9 caractères en réponse.
Je voulais utiliser des fork pour traiter les 9 chaines du programme1 en même temps, appeler programme2 9 fois en parallèle donc.
Seul soucis, lors de l'apelle, ex :
//programme1:
int main
{
...
programme2(tab[4]);
}
Dans ce cas, je ne passe pas au programme2 seulement la 5ème chaine, mais aussi la 6ème, la septième etc jusqu'à la 9ème à la suite.
tableau[4][3] représente par exemple le 4ème caractère de la 5ème chaîne.
Pour chacune de ces chaînes, je veux appeler programme2, qui va lui générer un certains nombre de chaînes de 9 caractères en réponse.
Je voulais utiliser des fork pour traiter les 9 chaines du programme1 en même temps, appeler programme2 9 fois en parallèle donc.
Seul soucis, lors de l'apelle, ex :
//programme1:
int main
{
...
programme2(tab[4]);
}
Dans ce cas, je ne passe pas au programme2 seulement la 5ème chaine, mais aussi la 6ème, la septième etc jusqu'à la 9ème à la suite.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
8 mai 2013 à 19:42
8 mai 2013 à 19:42
Ok, je comprends mieux. Pourquoi ne pas utiliser des thread plutôt ? Cela sera mieux ;-).
fabinou87
Messages postés
30
Date d'inscription
mercredi 8 mai 2013
Statut
Membre
Dernière intervention
9 mars 2016
2
8 mai 2013 à 19:47
8 mai 2013 à 19:47
A vrai dire, je ne connais pas du tout encore. ^^
Je suis étudiant et je n'ai encore pas vu ceci. L'utilisation de fork m'est d'ailleurs demandée.
Tu aurais une idée pour récupérer la chaine de mon tab sans récupérer toutes les autres derrière comme expliqué plus haut ? Je viens d'essayer pleins de trucs. Soit je récupère toute la fin soit j'ai des problèmes de typages.
Je suis étudiant et je n'ai encore pas vu ceci. L'utilisation de fork m'est d'ailleurs demandée.
Tu aurais une idée pour récupérer la chaine de mon tab sans récupérer toutes les autres derrière comme expliqué plus haut ? Je viens d'essayer pleins de trucs. Soit je récupère toute la fin soit j'ai des problèmes de typages.