Convertir C# a C++

Traduzca cualquier biblioteca o aplicación de consola C# de nivel empresarial a su equivalente en C++ con total compatibilidad con .NET Framework. La biblioteca C++ resultante es compatible con una amplia gama de sistemas operativos, incluidos Linux, MacOS y Windows, lo que garantiza que su aplicación se pueda implementar en múltiples plataformas. Traduzca millones de líneas de código a la vez con un esfuerzo manual mínimo.
Solicitar Servicio

CodePorting.Translator Cs2Cpp es una aplicación transpiladora

Se puede utilizar para configurar la traducción automática de código C# en continua mejora a C++ con el fin de publicar la misma versión del software para ambos lenguajes sin cambiar las API o la documentación del código. También puede ayudar a distribuir aplicaciones y bibliotecas de C# a plataformas en las que la compatibilidad con .NET no existe o es problemática.

Convierta código C# sin esfuerzo con nuestras potentes funciones

CodePorting.Translator Cs2Cpp es una aplicación transpiladora de código fuente a código fuente, que permite reproducir las clases y rutinas internas de la misma forma en que están implementadas en el código C# original. Además, después de traducir el proyecto C# a C++, puedes compilarlo para cualquiera de las plataformas de destino soportadas.
public void EnclosedWhile(int max1, int max2)
{
	int number1 = 0;
	while (number1 < max1)
	{
		int number2 = 0;
		while (number2 < max2)
		{
			Console.WriteLine(number1 + number2);
			++number2;
		}
		++number1;
	}
}
void WhileStatements::EnclosedWhile(int32_t max1, int32_t max2)
{
	int32_t number1 = 0;
	while (number1 < max1)
	{
		int32_t number2 = 0;
		while (number2 < max2)
		{
			System::Console::WriteLine(number1 + number2);
			++number2;
		}
		++number1;
	}
}
public class ClassProperties
{
	public string PublicProperty
	{
		get { return mPublicPropertyField; }
		set { mPublicPropertyField = value; }
	}

	private string mPublicPropertyField;
}

class ClassProperties : public System::Object
{
    public:
        System::String get_PublicProperty();
        void set_PublicProperty(System::String value);

        ClassProperties();

    private:
        System::String mPublicPropertyField;
};
public void BreakEnclosedForeach(int[][] values, int max)
{
	foreach (int[] row in values)
	{
		if (row.Length == 0)
		{
			break;
		}

		foreach (int value in row)
		{
			Console.WriteLine(value);
			if (value > max)
			{
				break;
			}
		}
	}
}

void BreakStatements::BreakEnclosedForeach(System::ArrayPtr<System::ArrayPtr<int32_t>> values, int32_t max)
{
    for (System::ArrayPtr<System::ArrayPtr> row : values)
    {
        if (row->get_Length() == 0)
        {
            break;
        }

        for (int32_t value : row)
        {
            System::Console::WriteLine(value);
            if (value > max)
            {
                break;
            }
        }
    }
}
using System.Threading;

class LambdaTest
{
    public void TestMPMM_1()
    {
        var a = 0;
        new Thread(() =>
        {
            var b = a;
        });
    }
}
#include <system/threading/thread.h>
#include <system/details/lambda_capture_holder.h>
#include <functional>
#include <cstdint>

void LambdaTest::TestMPMM_1()
{
    System::Details::LambdaCaptureHolder<int32_t> _lch_a = 0;
    int32_t &a = _lch_a.GetCapture();
    System::MakeObject<System::Threading::Thread>(static_cast<System::Threading::ThreadStart>(static_cast<std::function<void()>>([_lch_a, &a]() -> void
    {
        int32_t b = a;
    })).template AddHeldVariable<System::Threading::ThreadStart>("a", a));
}
csharp converter feature
Dependencias externas
Sustituir el código escrito manualmente como reemplazo de la dependencia que no está disponible para la traducción
csharp converter feature
Preservación de API
Las construcciones específicas del lenguaje utilizadas en el código C# se traducen a los equivalentes de C++ mejor adaptados
csharp converter feature
Control de memoria
Controlar los punteros débiles o compartidos en el código traducido para destruir los objetos no utilizados y romper las referencias de bucle.

Biblioteca de soporte para traductores

CodePorting.Translator Cs2Cpp es un framework capaz de traducir código C# a C++. El código resultante proporciona la misma API que el código .NET original y puede ejecutarse en el entorno C++ no gestionado traducido.

La biblioteca de soporte del traductor es una biblioteca C++ con sustitutos de clases .NET y algo de código de servicio. El código traducido depende en última instancia de este componente. Además de las funciones básicas de .NET, nuestra biblioteca es compatible con los subsistemas System.Net, System.Drawing, System.XML, System.Security y otros. La biblioteca de soporte del traductor se incluirá en el producto compilado. Si planea distribuir su código C++ traducido, se recomienda incluir la dependencia del paquete NuGet de la biblioteca de soporte del traductor.
c sharp to cpp conversion scheme

Ejemplos de productos C# traducidos exitosamente a C++

Artículos relacionados:

Recursos de apoyo y aprendizaje