Extender python

Chema Cortés py en ch3m4.org
Mie Ene 18 00:13:54 CET 2006


El Martes, 17 de Enero de 2006 13:41, Francesc Altet escribió:
> A Dimarts 17 Gener 2006 12:55, Catalin Lungu va escriure:
> > Hola a todos,
> > Es posible extender Python con una clase hecha en C# sin usar IronPython
> > o Python .NET. Quiero hacer un form con 2 botones en C y desde Python
> > cambiar el texto de uno de los botones y también llamar al evento Click.
>
> Mmm, para enlazar con extensiones en C siempre suelo user Pyrex, pero
> en tu caso que usas C#, lo mismo encuentras más fácil ctypes:
>
> http://starship.python.net/crew/theller/ctypes/

Si no lo entendí mal, Catalin quería hacer el formulario en C#; así que no veo 
cómo podría ayudar ctypes, pensado para hacer wrappers de librerías dinámicas 
de C.

Se podría intentar con el SWIG, generador de interfaces para C#, java y otros 
muchos lenguajes:

  http://www.swig.org/
  http://www.swig.org/Doc1.3/CSharp.html




<mode flag="pedantic">
Con swig, la llamada de C# a python se haría mediante "pinvoke". Seguramente 
funcionará, ya que asegura portabilidad entre plataformas; pero no es 
recomendable si se busca rendimiento en ejecución. Por contra, Ironpython 
evita el uso del pinvoke, y es así como consigue rendimientos similares a 
CPython. Según cuál sea el problema, valdría la pena replantearse el utilizar 
Ironpython desde el principio.
</mode>




Más información sobre la lista de distribución Python-es