Appeler les fonctions d'une DLL en Python

Dans les explications qui vont suivre, je supposerai que vous êtes équipés d’une version de python > 3.0, pas vraiment pour le principe de fonctionnement mais surtout pour la syntaxe.

Pour utiliser une DLL avec votre programme python, il vous faut importer le module ctypes. C’est avec ce module que vous allez pouvoir utiliser les fonctions exportées de la DLL que vous aurez chargée avec LoadLibrary(). C’est beaucoup plus simple d’utiliser une DLL avec Python qu’en pur C / C++ Windows...

Le module ctypes exporte la fonction cdll pour accéder aux bibliothèes partagées Windows (.dll) et Unix/Linux (.so). Sous Windows, ctypes exporte également les fonctions windll et oledll. L’appel des fonctions exportées de la bibliothèque partagée se fait comme si cette fonction était une méthode de l’objet cdll.

Par convention, cdll permet d’avoir accès aux fonctions respectant la déclaration standard C au format cdecl, alors que windll attend une déclaration stdcall et oledll une déclaration stdcall en supposant que la fonction appelée renvoie un code d’erreur au format HRESULT.


	      from ctypes import dll

	      mydll = cdll.LoadLibrary("test.dll")
	      x = mydll.Somme(4, 5)
	      print(x)
	  
Références

http://docs.python.org/library/ctypes.html : partie de la documentation Python relatant l’usage des conventions d’appels pour permettre l’utilisation de DLLs (Windows) et de fichiers .SO (Unix) avec Python.

© LGB - 201x+