Communication de variables entre deux programmes

Loukhass Messages postés 20 Date d'inscription vendredi 6 janvier 2006 Statut Membre Dernière intervention 31 mars 2006 - 1 mars 2006 à 12:55
Loukhass Messages postés 20 Date d'inscription vendredi 6 janvier 2006 Statut Membre Dernière intervention 31 mars 2006 - 3 mars 2006 à 09:55
Bonjour,



J'ai besoin de faire transmettre des données assez complexes entre deux programmes C++.



Ces variables sont des structures contenant des entiers, des chaines de caractères, des listes ou des vectors.

De plus, ces variables devront être stockées dans une liste d'attente commune aux deux programmes.



Mon gros soucis vient du fait que c'est dans le cadre d'une application
temps réel donc je ne peux pas utiliser quelque chose de trop gourmand
en ressources.



Quelles solutions j'ai pour arriver à faire ca?

Merci d'avance

9 réponses

zaibacker Messages postés 97 Date d'inscription vendredi 17 février 2006 Statut Membre Dernière intervention 24 janvier 2018
1 mars 2006 à 13:02
Et bien moi j'utiliserai un fichier,l'un des programmes ecrit dedans et lautre le lis,mais je crois(je my connais pas trop) qu'on peut passer par les threads et meme les sockets mais ptet que ca use plus de ressources.
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
1 mars 2006 à 13:09
Par filemapping : cela crée une zone mémoire accéssible par 2 processus
Attention :
- il faudra gérer l'acces à la zone (éviter que 2 process aille y écrire en même temps)
- la zone devra contenit toutes les données à partager (pas de pointeurs vers des données qui ne sont pas dans la zone)

Voir richter pour plus de renseignements

http://brunews.free.fr/brunews/download/JR4.zip
http://brunews.free.fr/brunews/download/JR4Sources.zip
0
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
1 mars 2006 à 13:36
zaibacker => il fait du temps réel, donc a mon avis, l'accès au disque dur, c'est hors de question :)
0
zaibacker Messages postés 97 Date d'inscription vendredi 17 février 2006 Statut Membre Dernière intervention 24 janvier 2018
1 mars 2006 à 13:42
OK autant pour moi luhtor,jai jamais fais de temps reel sauf sous wxworks.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
1 mars 2006 à 19:43
On peut écrire sur le disque dur en mode réel. Il suffit d'utiliser les intteruption du BIOS. Mais pour ça, il faut connaitre un peut l'assembler.
0
Loukhass Messages postés 20 Date d'inscription vendredi 6 janvier 2006 Statut Membre Dernière intervention 31 mars 2006
1 mars 2006 à 21:59
ymca2003, ta solution a l'air de convenir.

Merci pour ta documentation, elle va bien me servir!
Merci a tous pour vos réponses :)
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
2 mars 2006 à 10:08
Le temps réel et le mode réel c'est pas la même chose.
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
2 mars 2006 à 20:42
Oups. Désolé. J'avais pas bien lu.
0
Loukhass Messages postés 20 Date d'inscription vendredi 6 janvier 2006 Statut Membre Dernière intervention 31 mars 2006
3 mars 2006 à 09:55
Sinon, j'ai de nouveau un probleme.



Je crois avoir compris comment ca marche. J'arrive bien a creer les fichiers. Mais je ne sais pas comment ecrire dedans.



Il faut forcement typer le fichier? Ou y a t-il un moyen de pouvoir stocker n'importe quoi dedans (booléens, structure, etc...)?



Il me semble qu'on peut le faire normalement, mais je trouve pas comment...
0
Rejoignez-nous