IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaçage autre langage Python Discussion :

Swig versus Boost


Sujet :

Interfaçage autre langage Python

  1. #1
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    859
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 859
    Points : 714
    Points
    714
    Par défaut Swig versus Boost
    Bonsoir,

    J'aimerais savoir quel est le meilleur moyen d'appeler du C depuis python entre
    1. swig http://www.swig.org/
    2. Boost.python http://www.boost.org/libs/python/doc/index.html



    Je n'apprécie que moyennent une troisième solution ctypes (pas assez "pythonesque").

    Merci de ne rien poster si vous n'avez aucune expérience dans aucun des deux domaines (j'ai entendu une légende urbaine selon laquelle...).

    Merci
    Si tu ne vis pas ce que tu penses alors tu penses ce que tu vis.

  2. #2
    Nouveau membre du Club
    Profil pro
    Agent de maîtrise
    Inscrit en
    Décembre 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Agent de maîtrise

    Informations forums :
    Inscription : Décembre 2007
    Messages : 23
    Points : 31
    Points
    31
    Par défaut pyrex .... ou à la main ....
    il exist pyrex http://www.cosc.canterbury.ac.nz/gre.../python/Pyrex/
    qui m'avait paru plus convaincant que swig, trop complexe à mon gout.
    Mais finalement j'écrit mes modules directement. Le moyen le plus efficace
    pour moi, c'est d'ecrire les routines en C, puis d'écrire l'interfaçage avec
    python dans une autre lib, ou je ne traite que les passages d'argument
    et le tripotage des types de données. Ca sépare les problèmes et les bugs.
    La lib C est toujours utilisable ailleurs. On gère le multi-platform à ce niveau.
    Ça compile bien avec MSVCC.
    Quand tu gère du hard sur WinXP tu fini avec une lib contenant les appels
    drivers, au-dessus la lib C, au-dessus la lib Py-C, au-dessus une classe python
    pour masquer les grigris d'appels et les exceptions, une appli au-dessus en python !!!

  3. #3
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    859
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 859
    Points : 714
    Points
    714
    Par défaut
    Quelle différence en pyrex et ctypes ?
    Si tu ne vis pas ce que tu penses alors tu penses ce que tu vis.

  4. #4
    Nouveau membre du Club
    Profil pro
    Agent de maîtrise
    Inscrit en
    Décembre 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Agent de maîtrise

    Informations forums :
    Inscription : Décembre 2007
    Messages : 23
    Points : 31
    Points
    31
    Par défaut ctype
    damned pas ctype il n'y a pas plus lourding: on est à des années lumieres de la proframmation python. Pyrex est compréhensible par un etre humain.

Discussions similaires

  1. [Débat] MERISE versus UML ? Avenir de MERISE ?
    Par Matthieu Brucher dans le forum Méthodes
    Réponses: 51
    Dernier message: 15/02/2022, 17h32
  2. C# versus Java
    Par laffreuxthomas dans le forum C#
    Réponses: 368
    Dernier message: 30/03/2019, 22h59
  3. Réponses: 3
    Dernier message: 19/11/2011, 14h34
  4. boost::shared_ptr versus boost::ptr_container
    Par Mikechaos dans le forum Langage
    Réponses: 2
    Dernier message: 20/05/2010, 21h16
  5. Que choisir : PHP versus Java ?
    Par Sniper37 dans le forum Général Conception Web
    Réponses: 164
    Dernier message: 28/04/2009, 16h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo