Bonjour, je souhaiterais lancer un programme en c à partir de mon programme et je veux qu'ils puissent communiquer. Une seule question comment faire?
Merci pour votre aide.
Bonjour, je souhaiterais lancer un programme en c à partir de mon programme et je veux qu'ils puissent communiquer. Une seule question comment faire?
Merci pour votre aide.
Salut,
Il y a bien des façons, selon :
- La plateforme sur laquelle tu codes (Windows, Linux,. ...)
- Si tu as les sources du programme que tu veux lancer
- La quantité de donnée à transmettre de l'un à l'autre
Maintenant tu peux, par exemple, lancer le premier programme, effectué un fork + execv pour le deuxième programme ou utiliser la commande system (nettement moins bien).
Pour communiquer tu peux par exemple utiliser un fichier, les socket en local, ou encore les tubes, files de message, etc. Voir communication inter-processus.
Tout ça nécessite peut-être des notions que tu n'as pas encore, alors avant d'aller plus loin, il nous faudrait les réponses aux questions ci-dessus![]()
Merci d'avoir répondu,
Je programme sous linux.
Oui j'ai les sources.
J'ai un programme qui fait des mesures, une fois les mesures effectuées, je veux qu'il exécute un second programme, qui se mettra en écoute, qui lui envoi un signal pour lui dire qu'il a écrit dans un pipe nommé. Et ce second programme, dès qu'il reçoit un signal il lit le contenu du pipe et envoie le contenu en gprs.
Au niveau des connaissance sa va je me débrouille, c'est juste la meilleure méthode qui me manque.
En fait si tu utilises les pipe nommés, il n'y a pas besoin de signaux, tu peux juste attendre en lecture que quelque chose arrive, un peu comme les socket !
Et si tu as d'autres choses à faire que d'attendre bêtement, et bien tu peux utiliser un threadOu alors utiliser un select.
Par contre, ce n'est spécialement utile de faire deux programmes distincts (sauf si tu as des raisons particulières de faire ça). Tu pourrais faire deux threads, et vu que les threads peuvent partager de la mémoire, ça te simplifierais probablement la vie. Et ça serait surement plus rapide.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager