Volver a herramientas

Transpilador C ↔ C#

Cómo usar el transpilador

1

Elige la dirección de conversión

Selecciona "C → C#" o "C# → C" según el lenguaje de origen.

2

Introduce tu código

Pega el código fuente C o C# en el editor izquierdo.

3

Ejecuta la conversión

Pulsa "Convertir" para transformar printf a Console.Write, punteros a ref, etc.

4

Revisa y adapta el resultado

Copia el código C# generado y ajusta detalles como gestión de memoria o uso de bibliotecas.

Preguntas frecuentes

¿Qué hace este transpilador C ↔ C#?

Convierte código simple entre C y C# de forma bidireccional. Traduce construcciones comunes como printf ↔ Console.Write, scanf ↔ Console.ReadLine, #include ↔ using, struct ↔ class, punteros (int*) ↔ ref, malloc ↔ new, y NULL ↔ null. Es ideal para portar código de sistemas embebidos o legacy a .NET.

¿Cómo convertir código C a C#?

Selecciona el modo "C → C#" en la parte superior. Pega tu código C en el panel izquierdo y haz clic en "Convertir". El resultado aparecerá en el panel derecho. Ejemplo: código C "int main() { printf("Hola"); return 0; }" se convierte a "static int Main() { Console.Write("Hola"); return 0; }".

¿Qué construcciones de C soporta la conversión?

C → C# maneja: printf/scanf/fprintf/sprintf → Console.Write/ReadLine/Error.Write/string.Format, #include → using System, struct → class, punteros (int* → ref int), malloc → new, free → comentario (GC maneja memoria), NULL → null, #define → const int, typedef → using, void main → static void Main, int main → static int Main. No maneja aritmética de punteros compleja, ensamblador inline, union, volatile, o funciones variádicas.

¿Qué construcciones de C# soporta la conversión?

C# → C maneja: Console.Write → printf, Console.ReadLine → scanf, Console.Error.Write → fprintf, string.Format → sprintf, class → struct, ref → punteros, new → malloc, null → NULL, const int → #define, using (alias) → typedef, static void Main → void main. Es una conversión básica que asume estructuras de código simples.

¿Cuáles son las diferencias clave entre C y C#?

C es un lenguaje compilado de bajo nivel con gestión manual de memoria (malloc/free). C# es un lenguaje managed que corre en .NET con garbage collector. C usa punteros explícitos (*), C# usa referencias (ref). C usa archivos .h con #include, C# usa using. C usa struct para datos, C# tiene class (referencia) y struct (valor). C es procedural, C# es orientado a objetos. C# tiene LINQ, async/await y propiedades automáticas que C no tiene.

¿Qué limitaciones tiene el transpilador?

Usa reglas regex, no un parser AST. Limitaciones: no maneja aritmética de punteros compleja, ensamblador inline, uniones (union), volatile, funciones variádicas, preprocesador avanzado, ni APIs específicas de plataforma. En C#: no maneja LINQ, async/await, genéricos, propiedades, eventos, delegates, ni unsafe code. Para proyectos complejos, usa herramientas como C++/CLI o p/invoke para interoperabilidad.