¡Buenas noches! A veces un lenguaje de programación como python (aunque potente y versátil) puedes necesitar mas potencia o accesos a librerías del sistema. Para hacer uso de una librería dinámica tipo .DLL (windows) o .SO (linux) puedes hacerlo de la siguiente forma:
En este caso vamos a crear una librería de prueba en C para linux (el mismo codigo de C y python se puede usar en Windows).
- Primer paso, creamos la libreria con el siguiente código de lenguaje C :
user@host:~$ cat testintegration.c
#include <stdio.h>
#include <stdlib.h>
#ifdef _WIN32
# define DLL_EXPORT __declspec(dllexport)
#else
# define DLL_EXPORT
#endif
DLL_EXPORT int sum(int a, int b) {
int res = 0;
res = a + b;
printf("ResC: %d\n",res) ;
return res;
}
- Para compilarlo usamos el siguiente comando (sustituir librería por el nombre que se quiera):
user@host:~$ gcc -Wall -Wextra -O -ansi -pedantic -fPIC -shared LIBRERIA.c -o /tmp/LIBRERIA.so
- Para usarla en este lenguaje solamente hay que llamarla importando la clase cdll del modulo ctypes, depués de usar el método LoadLibrary de la clase cdll, podremos llamar a los métodos de la librería importada:
user@host:~$ python
Python 2.7.9 (default, Jun 29 2016, 13:08:31)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from ctypes import cdll;
>>> mydll = cdll.LoadLibrary('/tmp/LIBRERIA.so')
>>> mydll.sum(2,'a')
ResC: 1456018974
1456018974
Mas información en http://wolfprojects.altervista.org/articles/dll-in-c-for-python/
Muy buen articulo