SWIG à l'envers

Le
Franck Pommereau
Bonjour,

Je connais SWIG pour produire un binding Python d'une librairie C.

Mais existe-t-il un outil qui fasse l'inverse : produire un binding C
pour des modules Python ? (Et encore mieux, un outil qui produise des
bindings dans plein de langages dont C)

Merci d'avance pour toute indication
Franck
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MC
Le #653377
Bonsoir !

binding
???


BIN-DINGue ? Un dingue du binaire ?






--
@-salutations

Michel Claveau

Franck Pommereau
Le #653376
binding
???



Heu... on doit dire « liaison » en français... Mais il s'agit en fait de
porter une API d'un langage à un autre sans changer la librairie
(pardon, bibliothèque) sous-jacente. (Comme PyGTK qui est un binding
Python de GTK+ écrite en C.)

F.


Bruno Desthuilliers
Le #665969
Bonjour,

Je connais SWIG pour produire un binding Python d'une librairie C.

Mais existe-t-il un outil qui fasse l'inverse : produire un binding C
pour des modules Python ?


Pas exactement - et je doute que ce soit possible - mais tu devrais
peut-être regarder comment embarquer un interpréteur CPython.

Amaury Forgeot d'Arc
Le #665968
Bonjour,

Je connais SWIG pour produire un binding Python d'une librairie C.

Mais existe-t-il un outil qui fasse l'inverse : produire un binding C
pour des modules Python ? (Et encore mieux, un outil qui produise des
bindings dans plein de langages dont C...)


C'est intéressant...
A quoi ce "binding" devrait-il ressembler ? Pourrais-tu donner quelques
exemples ?

Sans attendre les réponses, je te propose d'aller voir du côté de
boost::python, qui a a sans doute tous le trucs qu'il faut pour appeler
python à partir du C++, sans s'occuper des détails fastidieux.

C'est plus facile dans ce sens-là: Python a une interface beaucoup plus
régulière que le C.

--
Amaury

Franck Pommereau
Le #657267
Pas exactement - et je doute que ce soit possible - mais tu devrais
peut-être regarder comment embarquer un interpréteur CPython.


C'est ce que je m'apprête à faire si je ne trouve pas un outil pour me
mâcher le travail...

Franck Pommereau
Le #657266
C'est intéressant...
A quoi ce "binding" devrait-il ressembler ? Pourrais-tu donner quelques
exemples ?


Je dirais un type C pour chaque class Python et des fonctions pour les
méthodes, nommées selon le module et la classe. Par exemple un module
egg avec :

class Foo :
def bar (x, y) :
...

Ça donnerait :

PyObject Foo;
PyObject Egg_Foo_Bar (PyObject c, y);

Sans attendre les réponses, je te propose d'aller voir du côté de
boost::python, qui a a sans doute tous le trucs qu'il faut pour appeler
python à partir du C++, sans s'occuper des détails fastidieux.

C'est plus facile dans ce sens-là: Python a une interface beaucoup plus
régulière que le C.


Je vais de ce pas regarder si je peux booster mon binding, merci !

Franck

kib
Le #656046
Bonjour,

j'avais déjà vu cette question quelque part, j'ai donc recherché
où...c'était par ici :

http://www.thescripts.com/forum/thread38507.html

Apparement, ça mène à Elmer (que je ne connaissais pas) et qui à l'air
bien sympathique:

http://elmer.sourceforge.net/

mais je ne sais pas ce que ça vaut...
Franck Pommereau
Le #656045
j'avais déjà vu cette question quelque part, j'ai donc recherché
où...c'était par ici :

http://www.thescripts.com/forum/thread38507.html

Apparement, ça mène à Elmer (que je ne connaissais pas) et qui à l'air
bien sympathique:

http://elmer.sourceforge.net/

mais je ne sais pas ce que ça vaut...


Ça m'a l'air de convenir parfaitement ! Je vais regarder ça...
Merci beaucoup.
Franck

remi_inconnu
Le #655063
On 25 oct, 09:06, Franck Pommereau
j'avais déjà vu cette question quelque part, j'ai donc recherché
où...c'était par ici :

http://www.thescripts.com/forum/thread38507.html

Apparement, ça mène à Elmer (que je ne connaissais pas) et qui à l'air
bien sympathique:

http://elmer.sourceforge.net/

mais je ne sais pas ce que ça vaut...


Ça m'a l'air de convenir parfaitement ! Je vais regarder ça...
Merci beaucoup.
Franck


Pyrex (http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/)
produit du code C à partir de code écrit en python.


Franck Pommereau
Le #655062
Pyrex (http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/)
produit du code C à partir de code écrit en python.


Merci, je vais regarder ça. Mais il me semble que le but est de générer
des modules pour Python. Sont-il facilement utilisables depuis C ?

Franck

Publicité
Poster une réponse
Anonyme