Necesito importar un código ANSI C en un proyecto en el que estoy trabajando. Por razones que prefiero no incluir, quiero refactorizar el código a C# en lugar de intentar ajustar el código original. Me tomará tal vez un par de días hacer el trabajo a mano, pero antes de comenzar, ¿hay alguna herramienta automatizada que pueda llevarme la mayor parte del camino hasta allí? Soy un tacaño y el trabajo que estoy haciendo es pro bono, por lo que las herramientas gratuitas solo por favor.¿Existe alguna herramienta para convertir el código ANSI C en C#?
Respuesta
Si la refacturación manual es "solo" va a tomar unos días, obtendría mi voto. Dependiendo de qué está haciendo el código C y cómo está escrito (punteros, librerías personalizadas, etc.) un convertidor automatizado puede hacer un desastre. Y desenredar ese desastre podría ser una tarea más grande que simplemente convertir a mano.
Configuración, la limpieza, la refactorización, y justo hace manifiesto el código convertido (si hay incluso un convertidor disponible), probablemente sería algo en la magnitud de semanas o meses, por lo que estará mejor servido simplemente para seguir adelante con la reescritura manual.
Hay un experimental CLI Back-End and Front-End para GCC. Ya es capaz de compilar un subconjunto de programas C en CIL, el código de bytes que ejecuta el CLR.
(La página web hace que parezca que el código sólo se desarrolló durante unos meses y luego ignorado desde entonces, pero que está fuera de fecha; ST Microelectronics está continuando el mantenimiento y el desarrollo.)
No se especifica por qué quieres un traductor de C a C#, pero si solo quieres que C y C# jueguen juntos sin P/Invoke o COM, podría ser suficiente.
Puede tener sentido comenzar compilando el código existente como C++ administrado también conocido como C++/CLI. Suponiendo que fue lo suficientemente suave, entonces tiene una base de trabajo, comprobable sobre la cual construir. Mueva las funciones clave a sus propias clases, y según sea necesario, reescriba como C# en el camino.
- 1. ¿Hay alguna herramienta para convertir Managed C++ a C++/CLI?
- 2. ¿Alguna herramienta para detectar errores tontos en el código C?
- 3. ¿Hay alguna herramienta para convertir código fuente c/C++ a html?
- 4. ¿Hay alguna herramienta para reformatear el código de C#?
- 5. herramienta para convertir C++ código fuente de diagrama de flujo
- 6. ¿Existe una herramienta efectiva para convertir código C# a código Java?
- 7. Herramienta para convertir (traducir) C para ir?
- 8. ¿Existe alguna herramienta para encontrar funciones sin referencias (código obsoleto muerto) en una aplicación C#?
- 9. Herramienta para convertir Java al código de C#
- 10. ¿Hay alguna diferencia entre ANSI C e ISO C?
- 11. herramienta para explicar el código C
- 12. Herramienta para visualizar el flujo de código (C/C++)
- 13. Cómo convertir de K & R C a ANSI C?
- 14. ¿Qué herramienta existe para compilar el código de C++ 2011 para el destino de Windows?
- 15. ¿Existe alguna herramienta para verificar el cumplimiento de CLS?
- 16. Convirtiendo el problema ANSI en UTF8 C#
- 17. Cómo convertir código C++ a C
- 18. ¿Alguna herramienta para verificar el código duplicado de VB.NET?
- 19. ¿Existe una herramienta de preprocesamiento C#?
- 20. ¿Hay alguna herramienta para comentar el código de JavaScript?
- 21. Parse JSON en ANSI C
- 22. ¿Existe una herramienta Diff Semántica de trabajo para C++?
- 23. Herramienta de fusión para el código de C#
- 24. ¿Una herramienta para convertir JSON a C struct?
- 25. ¿Existe un convertidor/herramienta Java to C++?
- 26. Herramienta de código abierto para encontrar el código de C# inalcanzable/no utilizado
- 27. ¿Hay alguna herramienta de pelusa para C y C++ que verifique el formateo?
- 28. ¿Existe alguna herramienta para listar las variables globales utilizadas y generadas por una función C?
- 29. Una herramienta para convertir el código de MATLAB a Python
- 30. ¿Existe alguna herramienta para analizar si un proyecto C# y WPF puede ser portado a Silverlight?
Me alegra verte admitir que eres un tacaño. ;-) – peSHIr
En realidad no soy tacaño por mi propia cuenta, pero estoy dando mi tiempo a ese proyecto en particular de forma gratuita y no estoy dispuesto a gastar dinero en ello. Cuando hago un trabajo remunerado, intento usar las mejores herramientas que puedo pagar. –