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.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Sujets relatifs:

Leave a Replay

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