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) :
LIBMYO_EXPORT est remplacé par __attribute__, __declspec ou autre selon l'environnement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Pour appeler libmyo_event_get_emg en Python, je fais le fichier suivant :
Et c'est tout ? C'est aussi simple ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager