Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4265 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  un programme en python appelle une fonction C .. ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

un programme en python appelle une fonction C .. ?

n°2020307
razuki
Posté le 31-08-2010 à 16:42:01  profilanswer
 

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

mood
Publicité
Posté le 31-08-2010 à 16:42:01  profilanswer
 

n°2020308
mr simon
Posté le 31-08-2010 à 19:40:06  profilanswer
 

Je suis pas sur de comprendre tout les elements de ta question, mais il est tout a fait possible en python d'appeler des fonctions ecrites en C.
 
En general, on genere une DLL pour le module ecrit en C (l'extension est le plus souvent .pyd) qui est ensuite charge via un classique "import module".

n°2020309
Mjules
Parle dans le vide
Posté le 31-08-2010 à 21:11:30  profilanswer
 

Pourquoi tu veux établir un diagramme des relations entre les fonctions ?


---------------
Celui qui pose une question est idiot 5 minutes. Celui qui n'en pose pas le reste toute sa vie. |  Membre du grand complot pharmaceutico-médico-scientifico-judéo-maçonnique.
n°2020310
Taz
bisounours-codeur
Posté le 31-08-2010 à 21:48:50  profilanswer
 

Y a une API Python C pour interfacer ton C avec python et ainsi utiliser ton code C depuis python.
Tu peux le faire à la main, ou utiliser swig, voire boost::python.

n°2020311
black_lord
Truth speaks from peacefulness
Posté le 01-09-2010 à 09:02:32  profilanswer
 

Ce sujet a été déplacé de la catégorie OS Alternatifs vers la categorie Programmation par Black_lord


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
n°2020353
masklinn
í dag viðrar vel til loftárása
Posté le 01-09-2010 à 11:34:41  profilanswer
 

mr simon a écrit :

En general, on genere une DLL pour le module ecrit en C (l'extension est le plus souvent .pyd) qui est ensuite charge via un classique "import module".


Tu peux aussi te simplifier le boulot, créer une shared library C classique et l'ouvrir avec ctypes.


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  un programme en python appelle une fonction C .. ?

 

Sujets relatifs
création d un petit programmesite en python
[RESOLU] Fonction dans une fonction - Décompte(PYTHON) Un débutant et ses IF
fonction mailto en phpjquery : stopper une fonction au lancement d'une autre
Version FR ou UK du blog en fonction de la langue du navigateurcrée un de programme pour envoyé des mails
[Résolu] Fonction supp petit mot et supp caractères spéciauxphp 5.3.2 et fonction include()
Plus de sujets relatifs à : un programme en python appelle une fonction C .. ?


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)