C#'ı C++'a dönüştürme

Herhangi bir kurumsal düzeydeki C# kitaplığını veya konsol uygulamasını, .NET Framework'e yönelik tam destekle C++ eşdeğerine çevirin. Ortaya çıkan C++ kitaplığı, Linux, MacOS ve Windows dahil olmak üzere çok çeşitli işletim sistemleriyle uyumludur ve uygulamanızın birden fazla platformda konuşlandırılabilmesini sağlar. Minimum manuel çabayla milyonlarca satır kodu tek seferde çevirin.
Hizmet talep et

CodePorting.Translator Cs2Cpp bir transpiler uygulamasıdır

API'leri veya kod belgelerini değiştirmeden her iki dil için yazılımın aynı sürümünü yayınlamak amacıyla sürekli olarak iyileştirilen C# kodunun C++'a otomatik çevirisini ayarlamak için kullanılabilir. Ayrıca, .NET desteğinin bulunmadığı veya sorunlu olduğu platformlara C# uygulamalarının ve kitaplıklarının sunulmasına da yardımcı olabilir.

Güçlü Özelliklerimizle C# Kodunu Zahmetsizce Dönüştürün

CodePorting.Translator Cs2Cpp, dahili sınıfların ve rutinlerin orijinal C# kodunda uygulandıkları şekilde çoğaltılmasına olanak tanıyan kaynak kodundan kaynak koduna aktarıcı uygulamasıdır. Ayrıca, C# projesini C++'a çevirdikten sonra, onu desteklenen hedef platformlardan herhangi biri için oluşturabilirsiniz.
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
Dış Bağımlılıklar
Çeviri için mevcut olmayan bağımlılığın yerine manuel olarak yazılan kodu kullanın
csharp converter feature
API Koruması
C# kodunda kullanılan dile özgü yapılar, en iyi eşleşen C++ eşdeğerlerine çevrilir
csharp converter feature
Bellek Kontrolü
Kullanılmayan nesneleri yok etmek ve döngü referanslarını kırmak için çevrilmiş koddaki zayıf veya paylaşılan işaretçileri kontrol edin

Çevirmen destek kütüphanesi

CodePorting.Translator Cs2Cpp, C# kodunu C++'a çevirebilen bir çerçevedir. Ortaya çıkan kod, orijinal .NET kodunun sahip olduğu ve çevrilmiş yönetilmeyen C++ ortamında çalışabildiği API'nin aynısını sağlar.

Çevirmen destek kitaplığı, .NET sınıflarının ve bazı hizmet kodlarının yerine geçen bir C++ kitaplığıdır. Çevrilen kod sonuçta bu bileşene bağlıdır. Kitaplığımız, .NET temel özelliklerinin yanı sıra System.Net, System.Drawing, System.XML, System.Security ve diğer alt sistemleri de destekler. Derlenen ürüne çevirmen destek kütüphanesi dahil edilecektir. Çevrilmiş C++ kodunuzu dağıtmayı planlıyorsanız, çevirmen destek kitaplığı NuGet paketine olan bağımlılığı eklemeniz önerilir.
c sharp to cpp conversion scheme

C#’tan C++’a Dönüşüm Kılavuzu

Başarıyla C++'a çevrilen C# ürünlerine örnekler

İlgili makaleler

Destek ve Öğrenme Kaynakları