IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Mémoire partagée entre un programe C et python


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 35
    Points : 24
    Points
    24
    Par défaut Mémoire partagée entre un programe C et python
    Bonjour


    J'ai un programme en C et je souhaiterais faire une mémoire partagée avec un autre programme en python



    Partager une variable que j'ai dans mon programme C (un int) pour l'avoir dans mon programme en python (j'utilise scapy et je peux donc seulement le faire en python)


    Merci

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Veux-tu vraiment partager la mémoire entre deux processus, ou bien plutôt appeler un code C (typiquement une DLL) depuis Python?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    280
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 280
    Points : 149
    Points
    149
    Par défaut
    Essaie de voir les bibliotheques OS et SYS qui permet entre autre de passer des arguments comme dans un programme C (argc, argv...) ce sont des pistes comme ça je suis en train de voir ces biblio donc pas plus d'info pour l'instant.
    "Bien qu'on ait du coeur à l'ouvrage,
    L'Art est long et le Temps est court." - CB

  4. #4
    Membre éprouvé
    Avatar de f-k-z
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juin 2006
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2006
    Messages : 403
    Points : 928
    Points
    928
    Par défaut
    Yop,

    Une solution en passant par mmap ? Ici l'exemple de deux programmes en python, mais ça passe aussi pour du python et c ou n'importe quel autre langage ^^
    http://blog.schmichael.com/2011/05/1...es-using-mmap/
    GNU/Linux c'est une question de VI ou de MORE.
    http://www.goodbye-microsoft.com
    "Linux is user friendly, its just very selective of its friends*", m'enfou, je suis son pote :p

    Un post vous est utile ou est constructif, ayez le réflexe du +1 pour le contributeur ( C'est gratuit et ça donne l'impression d'être utile :p )
    Le tag et la ne sont pas fait que pour le décor, pensez-y !
    R.I.P. F-k-z 13/06/2006 - 12/10/2011
    *Linux est convivial, il est juste très sélectifs pour ses amis.

  5. #5
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 119
    Points
    28 119
    Par défaut
    Bonjour,

    Citation Envoyé par albertopisto Voir le message
    Partager une variable que j'ai dans mon programme C (un int) pour l'avoir dans mon programme en python (j'utilise scapy et je peux donc seulement le faire en python)
    Est-ce que tu souhaites appeler un programme python a partir d'une valeur calculee dans un programme C, ou bien est-ce plus complexe que ca ?

    Par exemple, des calculs dans un programme C, avec une matrice resultat, qui doit etre lue, puis modifiee par un programme python, avant que le programme C ne relise ces donnees pour les utiliser ?
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 35
    Points : 24
    Points
    24
    Par défaut
    Bonjour merci de m'avoir répondu.


    J'ai un programme en langage c, dans lequel je stocke un entier (sui calcule le nombre de paquet par seconde), cet entier (int c) change toutes les secondes.



    J'ai un programme en python (qui utilise scapy) et je veux faire appel à l'entier int c, dans lequel je duplique mes trames par seconde au nombre de c.

    Je veux donc savoir si il ya un moyen pour partager cet entier int c,


    Aussi, je veux aussi partager un entier entre deux programmes python.
    Sur un programme, l'entier est modifié à chaque seconde, et sur l'autre programme l'entier est lu


    Merci

  7. #7
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 119
    Points
    28 119
    Par défaut
    Bonjour,

    Plusieurs solutions :
    Ouverture d'un pipe nomme entre le programme C et le programme python. Pipe accessible en ecriture pour le C et en lecture pour le python
    Ecriture du nombre dans un fichier. Mais c'est lent, et tu vas avoir des problemes de coherence a gerer.
    Dans une base de donnee : plus simple que le fichier par certains cotes, plus complexe par d'autres
    Memoire partagee : necessite des connaissances un peu poussees en systeme, notamment pour ce qui est de la gestion du mutex.

    AMHA, le plus simple est le pipe nomme.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

Discussions similaires

  1. Mémoire partager entre applications
    Par yann458 dans le forum Windows
    Réponses: 2
    Dernier message: 29/03/2015, 19h12
  2. Mémoire partagée entre deux processus
    Par Sutat dans le forum ALM
    Réponses: 8
    Dernier message: 04/02/2012, 13h35
  3. Réponses: 1
    Dernier message: 04/08/2009, 11h44
  4. Réponses: 1
    Dernier message: 30/04/2008, 16h29
  5. Mémoire partagée entre processus
    Par thierryG dans le forum Windows
    Réponses: 1
    Dernier message: 17/10/2007, 11h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo