un programme en python appelle une fonction C .. ?

un programme en python appelle une fonction C .. ? - Python - Programmation

Marsh Posté le 31-08-2010 à 16:42:01    

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

Reply

Marsh Posté le 31-08-2010 à 16:42:01   

Reply

Marsh Posté le 31-08-2010 à 19:40:06    

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".

Reply

Marsh Posté le 31-08-2010 à 21:11:30    

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.
Reply

Marsh Posté le 31-08-2010 à 21:48:50    

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.

Reply

Marsh Posté le 01-09-2010 à 09:02:32    

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
Reply

Marsh Posté le 01-09-2010 à 11:34:41    

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, and replicate and expand beyond their wildest dreams by throwing away the limits imposed by overbearing genetic r
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed