Interfaçage Python sur dll C/C++
Bonjour,
je suis en train de travailler sur un projet où j'ai une dll C++ et je dois interfacer ça avec du python.
J'essaye de comprendre comment ça fonctionne avant de coder (ça m'a l'air trop simple, je pense que j'ai raté quelque chose).
Avec la dll est fourni un fichier header (je le coupe j'en met qu'un bout) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| // Copyright (C) 2013-2014 Thalmic Labs Inc.
// Distributed under the Myo SDK license agreement. See LICENSE.txt for details.
#ifndef MYO_LIBMYO_H
#define MYO_LIBMYO_H
#include <stdint.h>
#include "libmyo/detail/visibility.h"
#ifdef __cplusplus
extern "C" {
#endif
LIBMYO_EXPORT
int8_t libmyo_event_get_emg(libmyo_event_t event, unsigned int sensor);
#ifdef __cplusplus
} // extern "C"
#endif
#endif // MYO_LIBMYO_H |
LIBMYO_EXPORT est remplacé par __attribute__, __declspec ou autre selon l'environnement.
Pour appeler libmyo_event_get_emg en Python, je fais le fichier suivant :
Code:
1 2 3 4 5 6 7
| import ctypes
# Chargement de la bibliothèque, avec un chemin plus complet que ça
madll = windll.LoadLibrary("myo64.dll")
# On appelle la fonction
mavar = madll.libmyo_event_get_emg("tsointsoin",4)
# On affiche le résultat
print "Ma variable vaut : ", mavar |
Et c'est tout ? C'est aussi simple ?