Вопрос

Я нашел переводчик с С++ на С#, но он не работает.(Code2Code.net)

Тест с cout

int main(int argc, char** argv)
{
cout << "Hello World";
return 0;
}

Результаты становятся

public static int Main(string [] argv) 
{ 
cout << "Hello World"; 
return 0; 
} 

Мой вопрос к вам: есть ли какой-нибудь другой переводчик, который работает с C++ на C# (не обязательно должен быть бесплатным)

Нет правильного решения

Другие советы

Я не знаю ни одного, поскольку такой перевод был бы очень сложно сделать.Вы пытаетесь перевести код, написанный на неуправляемом языке, на управляемый язык.Даже если бы вы смогли перевести код, почти каждый метод был бы помечен как unsafe что в первую очередь сведет на нет большинство преимуществ перехода на C#.

Это кажется плохой идеей — вам стоит задуматься о переписывании приложения с нуля.

Я предлагаю сначала использовать C++/CLI для переноса кода C++ в управляемую среду.Работая в управляемом мире, создайте вокруг него новый код на C#.Если в существующем коде есть ключевые области, которые активно меняются, рассмотрите возможность переноса на C# на этом этапе.

Я не думаю, что какая-либо система перевода для C++ -> C# могла бы сделать больше, чем просто безопасно набрать шаблонный код (исправить базовый синтаксис) - поскольку платформы, используемые в C++ и C#, фундаментально различаются, и вы столкнетесь с проблемами, поскольку как только переводчику придется иметь дело с арифметикой указателей и тому подобным.

Учитывая сложный синтаксис C++ и те сумасшедшие вещи, которые вы можете с ним делать (подумайте Способствовать росту) Думаю, у любого переводчика рано или поздно возникнут серьезные проблемы.Видеть этот пост в блоге для некоторых альтернативных предложений.

Code2Code.net прямо заявляет

Вы признаете, что эта страница выполняет только половину работы.

...

В большинстве случаев переведенный код даже не компилируется.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top