CxGo es una herramienta para traducir código fuente C a Go (también conocido como transpilador, compilador de fuente a fuente).
Utiliza cc v3 para preprocesar y analizar C (¡sin dependencias de clang/gcc!) y un verificador de tipos personalizado y una capa de traducción AST para obtener el mejor resultado posible.
El único requisito es: el código C debe compilarse con cxgo
, incluidos los encabezados.
Dicho esto, cxgo
utiliza algunos trucos para facilitar este proceso.
TL;DR para los objetivos del proyecto:
Consulte las preguntas frecuentes para conocer más preguntas comunes sobre el proyecto.
¡El proyecto es experimental ! ¡No confíe en él en producción y otros entornos sensibles!
Aunque se probó con éxito en varios proyectos, podría cambiar el comportamiento del código debido a errores aún desconocidos.
Resultados de la prueba del compilador:
Proyectos transpilados:
go install github.com/gotranspile/cxgo/cmd/cxgo@latest
o descargue la última versión de Github.
La forma más rápida de probarlo es:
cxgo file main.c
Para más detalles, consulta nuestra sección de ejemplos.
Lo guiará a través de patrones de uso básicos, así como también otros más avanzados (en proyectos del mundo real).
También puede consultar las preguntas frecuentes si tiene algún problema.
Actualmente, cxgo
acepta las siguientes características de C, pero pueden implementarse parcialmente o no implementarse en absoluto:
static
(#4)auto
(#5)union
con diseño de datos idéntico a C (#7)packed
(#8)asm
case
en lugares extraños (#9)goto
prohibido por Go (aunque hay una solución alternativa, consulte el n.° 10)setjmp
(se compilará, pero entra en pánico en tiempo de ejecución)#ifdef
para diferentes SO/entornos ¡Únete a nuestra comunidad! ¡Nos gustaría saber de usted!
Ver CONTRIBUIR.
MIT