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 :

un programme en python appelle une fonction C .. ?


Sujet :

C

  1. #1
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    630
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 630
    Points : 234
    Points
    234
    Par défaut un programme en python appelle une fonction C .. ?
    Bonjour,
    j'aimerais savoir si il peut y avoir une communication entre un programme *.c et un programme *.py.
    En effet, j'essaie d'établir un diagramme de la solution open source ossim qui est pratiquement une "boite noire" ... :
    - j'ai un serveur ( fichier.c)
    - un client qui heberge des plugins ( fichier.py )
    - Le client se connecte au serveur ( on le voit clairement dans un_fichier.py )

    Ma question :
    - un_fichier.py peut il communiquer avec un_fichier.c ?
    - j'ai un module plugin.c et une classe Plugin.py :
    --Le premier contient essentiellement tout ce qui est sim_plugin_get_id( ),sim_plugin_set_id( ), plugin_get_name( ), _set_name, ...get_description, ..set_description, .. etc ... Mais aussi plugin_new( ) qui, à mon avis "instancie" un plugin.
    --Le second contient des variables de fichiers_de.conf mais aussi des fonctions permettant de controller et envoyer des commandes aux plugins ( qui ont été crées/instanciés quelque part, dans un _fichier.c je suppose ).
    Est ce possible qu'un script python fasse appel à un objet.c ( et ses fonctions ) ?

    Merci d'avance pour votre aide

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Août 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 33
    Points : 92
    Points
    92
    Par défaut
    Tu va dire que je pinaille, mais un fichier source C n'est pas un programme, il ne le devient qu'après compilation et édition de liens.
    Ainsi un même code source peut donner deux résultats différents suivant le compilateurs, les arguments passés au compilateur ou encore l'implémentation. C'est un point de détail qui a son importance quand y refléchi bien.

    Concernant ton problème, je le situe pas trop. Il est possible depuis un programme python de faire appel à du code C mais c'est un peu particulier, il faut créer un module dans lequel on défini des objets python (PyObject).

    Par contre il y a des interface comme SWIG qui permettent d'automatiser plus ou moins la tâche (il parait, personnellement j'en ai jamais eu l'utilité)

    Mais là tu as l'air d'être sur un modèle client/serveur, non ?
    Dans ce cas il s'agit plus de communication inter-processus et donc le faire que le programme soit en C ou non n'a pas beaucoup d'importance.

    Je suis pas spécialiste et ce genre de question est dépendant de la plateforme.

  3. #3
    Membre actif
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    630
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 630
    Points : 234
    Points
    234
    Par défaut
    Citation Envoyé par Diablo150 Voir le message
    Mais là tu as l'air d'être sur un modèle client/serveur, non ?
    Dans ce cas il s'agit plus de communication inter-processus et donc le faire que le programme soit en C ou non n'a pas beaucoup d'importance.
    Oui je suis un modèle client/serveur. Le client collecte les informations et les envoie au serveur qui les traite. Le serveur est écrit en c. Le client est écrit en Python et se connecte au serveur en TCP. Mais j'ai remarqué qu'il dépend aussi de fichier source *.c ...
    Par exemple quand il reçoit des commandes du serveur ou encore pour gérer des plugins qu'il héberge, j'ai remarqué qu'il se sert des "objets" générés par par les_fichiers.c

Discussions similaires

  1. Appeler une fonction python avec Weave
    Par dks17 dans le forum Interfaçage autre langage
    Réponses: 0
    Dernier message: 03/05/2012, 14h54
  2. Réponses: 1
    Dernier message: 29/06/2010, 22h24
  3. appeler une fonction dans un autre programme
    Par elghadi_mohamed dans le forum Langage
    Réponses: 3
    Dernier message: 19/10/2007, 19h58
  4. [Python API] Appeller une fonction Python depuis le C++
    Par wetneb dans le forum Bibliothèques
    Réponses: 0
    Dernier message: 18/10/2007, 12h49
  5. [VB]appeler une fonction d'autre programme vb
    Par medbouh dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 17/03/2006, 11h27

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