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 :

Ctypes avec une bibliothéque DLL


Sujet :

Interfaçage autre langage Python

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Ctypes avec une bibliothéque DLL
    Bonjour;
    Voila je suis nouveau avec python et je veux travailler avec Lpsolve55.dll en utilisant Ctypes, je l'ai appelé en utilisant ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    from ctypes import *
    lpsolve = cdll['lpsolve55.dll']
    et ma question est toute simple(sachant que j'ai bel est bien cherché dans le net et je n'ai pas pu le faire): comment appeler une fonction de lpsolve avec ctypes .

    comme exemple j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lp = lpsolve('make_lp', 0, 4)
    et le message d'erreur était:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'CDLL' object is not callable
    et merci pour votre aide.

  2. #2
    Nouveau membre du Club
    Profil pro
    Doctorant en informatique théorique
    Inscrit en
    Décembre 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Doctorant en informatique théorique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 28
    Points : 32
    Points
    32
    Par défaut
    Salut,

    C'est vrai qu'il y a peu de documentation concernant ctypes, mis à part cette page.

    Concernant ta question, tu dois définir en python un objet correspondant à la fonction de ta libraire. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ma_fonction_externe = lpsolve.ma_fonction
    ma_fonction_externe.argtypes = [liste des types des arguments de ma_fonction]
    ma_fonction_externe.restype = le type de retour de ma_fonction
    Note que les types que tu utilises sont des types ctypes. Par exemple, si le prototype de ma_fonction est
    Tu dois dès lors utiliser c_int et c_byte (la encore, je te renvoie sur la page proposée plus haut)

Discussions similaires

  1. Liaison avec une bibliothèque externe
    Par gpcbitnik38 dans le forum Qt Creator
    Réponses: 2
    Dernier message: 20/09/2014, 16h28
  2. export d'une DLL liée avec une autre DLL
    Par Stabia dans le forum Windows
    Réponses: 0
    Dernier message: 08/05/2012, 18h25
  3. [PEAR][Mail] Mail PHP avec une bibliothèque
    Par ClarusAD dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 07/05/2008, 10h29
  4. Problème de lien avec une bibliothèque statique
    Par streetpc dans le forum C++/CLI
    Réponses: 2
    Dernier message: 28/10/2006, 17h38

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