Возможно ли перенести проект C# на C++/CLI?

Возможно ли перенести проект на WinForms с C# на C++/CLI. В теории должно сработать, так как они расположены на одной платформе .Net, исходя из книги Троелсена, то можно запускать проекты написанные на C# на языках которые работают с .Net платформой

Искал способы портирования, но на msdn только C++/CLI можно перенести на .Net Core
  • Вопрос задан
  • 473 просмотра
Решения вопроса 2
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Ровно там же написано для чего используется C++/ CLI
Для работы со старым кодом и для обхода некоторых ограничений более выкоуровневых языков.
На cli пишите ресурсоемкую часть кода, все остальное в том числе и интерфейс пишите на C#.
Это наиболее правильный путь.
Ответ написан
@d-stream
Готовые решения - не подаю, но...
Очень упрощенно .net приложения (в том числе c#) "компилируются" в виртуальный код clr, который и выполняется "процессором" - .net
c/c++ - компилируются в машинные коды [конкретного семейства процессоров] и эти машинные коды выполняются процессором физической машины.

В итоге - дизайн winforms - более менее можно перетащить даже без использования мозга, все остальное - долго и сложно. С учетом практики выстраивания извращенной спутанной каши из логики и кода в winforms - можно считать что "нельзя")
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@rPman
Перенос приложений между 'языками' чаще создает проблемы не языков и синтаксиса, у c# и с++ они почти идентичны, но из-за используемых библиотек и фреймворков, а точнее отсутствие тех что есть у .net но нет для с++, в т.ч. многопоточности, привычной работы со списками/итераторами и т.п.

Если же у вас наиболее скучный подход к разработке требуемого куска кода, например не используются внешние библиотеки и современный синтаксический сахар, то вы можете даже под opencl или nvidia cuda портировать свой код без особых шевелений.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы