Есть ли какие-либо инструменты для портирования кода C ++ в код C #? [закрыто

StackOverflow https://stackoverflow.com/questions/2823456

Вопрос

У меня есть пара C ++ Утилиты, которые я хотел бы портировать до Net Net. Мне было интересно, есть ли инструменты для портирования приложения C ++ в C #?

Я предлагаю, что любой автоматизированный инструмент сделает беспорядок любого кода, так что, возможно, я также должен спросить, это хорошая идея или нет?

Это было полезно?

Решение

Лучший вопрос, почему вы когда-либо только что Рабочий код портов без получения дополнительной стоимости (то есть новых функций)? Усилие почти усердно будет сильнее и займет больше времени, чем вы ожидаете. Лучше, используйте много возможностей взаимодействия .NET .NET, чтобы вызвать код C ++ из C #. Сосредоточиться на добавлении новых функций в C #, но не тратьте свое время портирование рабочего кода.

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

  1. Клавиатура.
  2. Мышь
  3. Монитор.
  4. Кофе.
  5. Поиск регулярных выражений и замена.

Конечно, это оживленный рынок. Отказ Переход от C ++ к C # дает вам то, что мощь компилировать чисто. Делать его на самом деле работу, принимает линейку: «О, Gawd, я буду застрелить себя в томоров». YMMV.

Это должно было быть комментарий. Но у меня нет достаточно полномочий, чтобы опубликовать комментарий. Это точно не имеет отношения к вашему вопросу. Я думал, что это будет полезно для вас.

C ++ -> C #: Что вам нужно знать, чтобы перейти от C ++ к C # #

Моя компания, Семантические конструкции Имеет инструмент, который преобразуется от C ++ в C #. Он обрабатывает языковые языковые конструкции конверсии от C ++ (декларации данных / класса, исполняемые операторы) к C #. Инструмент перевода основан на DMS Software Reenginering Toolkit.

Это требует настройки для обработки перевода экзотических конструкций (COM CONSTS, ваших пользовательских API, ...) к C #. Любой инструмент, который вы можете найти, будет нуждаться в такой настройке; Никакой инструмент для полки не может практически удовлетворить ваш полный набор конкретных обстоятельств.

Как насчет компилятора C ++ / CLI, который производит сборки .NET из C ++ Code. В конце концов вы захотите переделать точки входа, чтобы принять типы .NET (например, System::String вместо классики char *), но вы доберетесь до .NET намного быстрее, не используя C #. Существуют также автоматические преобразования между C ++ / CLI и C #, но только после того, как код C ++ является .nefified (вышеупомянутое преобразование в System::String, generic<typename T> System::Collections::Generic::List, так далее.)

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