Contenu | Rechercher | Menus

Annonce

Le forum a une nouvelle maison !
Le forum a été migré sur un nouvel hébergement. Si jamais vous trouvez le moindre problème, n'hésitez pas à nous en faire part !
L'équipe de modération vous présente ses meilleurs vœux pour l'année 2016.
Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".

#1 Le 30/01/2013, à 15:25

kboo
Membre

C++ et Python

Bonjour,
Je n'arrive pas à trouver une réponse clair à mon problème en parcourant ce forum. Le voici:
Actuellement j'ai un programme écris en C++ qui lit et écrit des données. La lecture de fichiers textes est souvent modifiée et est actuellement traité par une partie du logiciel en C++. Lors de la lecture une classe C++ est remplie (une chaine) .
A présent toute la partie lecture doit se faire un python et le reste des traitement en C++. Existe-t-il un moyen d'interpréter des fonctions en python (des fichiers .py externes) et de récupérer les valeurs de sorties dans le programme en C++, si oui quelle bibliothèque(s) me conseillez vous? Quel sont les pièges dans ce cas de figure (typage? chaine?) ?

Merci infiniment

Hors ligne

#2 Le 30/01/2013, à 16:23

tiramiseb
Membre

Re : C++ et Python

En général on fait l'inverse : appeler des fonctions C / C++ à partir de Python.
http://wiki.python.org/moin/Integrating … rLanguages

Je ne suis pas sûr que l'inverse soit facilement faisable, simplement parce que je n'ai jamais vu quelqu'un qui le faisait.

Les cas les plus courants pour fait interagir Python avec d'autres langages sont :

* on programme tout en Python et, quand on a besoin de plus de performances on fait certaines parties du code en C ou C++
* on programme en Python mais on a besoin d'une bibliothèque écrite dans un autre langage (généralement en C)


Ne peux-tu pas aborder le problème de ce sens-là ?
Utiliser ton code C++ comme bibliothèque appelée par un programme plus global en Python...


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXe siècle
Domotego : boutique dédiée à la domotique DIY - https://www.domotego.com
Consultant informatique indépendant - Geek et tout plein d'autres choses

Hors ligne

#3 Le 30/01/2013, à 16:26

tiramiseb
Membre

Re : C++ et Python

Je corrige ma réponse.
En fait ça semble prévu et pas trop compliqué.

Voir :
http://docs.python.org/2/extending/embedding.html
http://docs.python.org/2/c-api/


Sébastien Maccagnoni-Munch - administrateur Linux depuis le XXe siècle
Domotego : boutique dédiée à la domotique DIY - https://www.domotego.com
Consultant informatique indépendant - Geek et tout plein d'autres choses

Hors ligne

#4 Le 30/01/2013, à 16:31

grim7reaper
Moderator+

Re : C++ et Python

Salut,
Voilà deux liens qui devrait t’aider à démarrer : 1, 2.
Cela dit, vu que tu parles de C++ je te conseille de jeter un œil à Boost.Python, ça sera beaucoup plus propre.

Dernière modification par grim7reaper (Le 30/01/2013, à 16:36)

Hors ligne

#5 Le 31/01/2013, à 09:57

kboo
Membre

Re : C++ et Python

Merci beaucoup, j'avais un gros doute sur les différentes possibilités (les bon outils pour inclure non pas du C++ dans du Python mais du Python dans du C++...) je vais étudier tout ça smile

Hors ligne