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@latesto descargue la última versión de Github.
La forma más rápida de probarlo es:
cxgo file main.cPara más detalles, consulta nuestra sección de ejemplos.
Le guiará a través de patrones de uso básicos, así como 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)asmcase 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