[Curiosidad] Como hacer bindings de una librería

Iniciado por Becerra, 4 Diciembre 2016, 00:13 AM

0 Miembros y 1 Visitante están viendo este tema.

Becerra

Hola

Esto es solo curiosidad, no voy a hacerlo, más que nada por que no tengo tiempo para ello, pero me entró un poco de curiosidad, nunca entré en el tema.

Algunas librerías, por ejemplo SDL, tienen bindings para poder usarla con diferentes lenguajes de programación. ¿Cómo se hace esto? Por ejemplo, si yo quisiese hacer un binding para otro lenguaje de programación ¿Por donde debería empezar a buscar información?

Un saludo
Buenas preguntas obtienen mejores respuestas

ivancea96

C#: https://github.com/flibitijibibo/SDL2-CS/blob/master/src/SDL2.cs
Python: https://bitbucket.org/marcusva/py-sdl2/src/0c43a27d17f8a792234a12e45b728638e34c36fa/sdl2/dll.py?at=default&fileviewer=file-view-default#dll.py-121

Esos 2 de SDL, lo que hacen prácticamente es importar funciones de la DLL de SDL para luego poderlas utilizar desde ese lenguaje. Además, añaden módulos, namespaces, clases, etc...
Pero la funcionalidad en sí, la cogen en su mayoría de la DLL.
En C# ves el DLLImport y en Python te remarqué el módulo y función que usa por todo el código paraimportar de la DLL.

Si la librería que tienes es una DLL, hacer el binding de este modo es bastante fácil, ya que el código que tendrás que ahcer es mínimo; te limitarías a estructurar las funciones y clases.
Si la librería no es una DLL, pues bueno, habría que ver cada caso.

Becerra

Hola

Entonces teniendo la .DLL es más sencillo de lo que imaginaba, aunque sigue siendo un trabajo enorme, ya que habría que crear un montón de funciones, clases, etc y procurar no dejar fuera características de la librería,

Y si la librería se actualiza con nuevas características, te toca implementar todo lo nuevo....

Uff, ¡¡ hace falta mucho tiempo libre !! XD

Un saludo
Buenas preguntas obtienen mejores respuestas