Usa Cython como Python a C Converter

Tengo enormes módulos de Python (+8000 líneas). Básicamente tienen toneladas de funciones para interactuar con una plataforma de hardware a través del puerto serie mediante la lectura y la escritura en los registros de hardware.

No son algoritmos numéricos. Así que la aplicación es solo leer / escribir en los registros de hardware / memoria. Yo uso estas bibliotecas para escribir scripts personalizados. Eventualmente, necesito mover todas estas cosas para que se ejecuten en un procesador integrado en mi hardware para tener un control más preciso, luego comienzo el evento desde la PC y el rest está en hardware.

Así que necesito convertirlos a C. Si puedo convertir mis scripts a C mediante una herramienta automática, eso me ahorraría un gran tiempo. Por eso me atrajo Cython. La eficiencia no es importante, mis códigos no son factores clave. Pero el código generado debe ser relativamente pequeño para que quepa en mi memoria limitada (algunos cientos de Kilobytes).

¿Puedo usar Cython como convertidor para mis scripts de Python personalizados a C? Supongo que sí, ¿en qué caso puedo usar estos archivos .c para que se ejecuten en mi hardware? Supongo que no es así, ya que tengo que tener Cython en mi hardware para que se ejecuten. Pero si solo crea algunos archivos .c, puedo hacerlo y hacerlo independiente, ya que el código no usa muchas de las características de Python, solo lo usa como un script rápido para implementar.

  1. Sí, en su esencia, esto es lo que hace Cython. Pero …
  2. No necesitas Cython, sin embargo, sí necesitas libpython . Puede que sientas que no usa muchas de las funciones de Python, pero creo que si lo intentas, verás que no es cierto. No podrás separar tu progtwig de su dependencia de libpython mientras usas Python. idioma.

Otra opción es PyPy , específicamente es la cadena de herramientas de traducción , NO el intérprete de PyPy Python. Te permite traducir RPython , un subconjunto del lenguaje Python, a C. Si realmente no estás usando muchas bibliotecas o características del lenguaje Python, esto puede funcionar.

PyPy se conoce principalmente como una implementación alternativa de Python, pero también es un conjunto de herramientas para comstackr lenguajes dynamics en varias formas. Esto es lo que permite que la implementación PyPy de Python, escrita en (R) Python, se compile en código de máquina.

Si C ++ está disponible, Nuitka es un comstackdor de Python a C ++ que funciona para Python normal, no solo RPython (que es lo que usan shedskin y PyPy).

Si C ++ está disponible para esa plataforma incorporada, se elimina el aspecto , convierte Python en c ++.