p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Invité de passage
    Inscrit en
    janvier 2011
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : janvier 2011
    Messages : 7
    Points : 0
    Points
    0

    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 : 28
    Points
    28

    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. mail PHP avec une bibliothèque
    Par ClarusAD dans le forum Mail
    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