Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++/CLI
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Павлушечка
8 / 8 / 0
Регистрация: 17.11.2012
Сообщений: 146
1

Действительно ли C++/CLI годен для совместной работы .NET и Native-C++ разработчиков?

11.10.2015, 16:52. Просмотров 882. Ответов 4
Метки нет (Все метки)

На практике, основной целью c++/cli является возможность взаимодействия чистого с++ и платформы .net (кто-то скажет, что этот язык нужен скорее для того, чтобы с++ программист мог писать .net приложения, но все-таки уж проще по-моему это делать на c#, даже если уже знаешь с++. Недавно пришлось писать оболочку .Net функции на с++/cli, для дальнейшего ее использования на чистом c++. В итоге пришлось потратить кучу времени, на то, чтобы разобраться, как перевести управляемый 2d-массив в c++ - массив. Проще было-бы сразу эту функцию писать на чистых плюсах. Так вот вопрос заключается в том, а годен ли по факту c++/cli для совместной работы .net разработчиков и с++ разработчиков, раз возникают такие проблемы, или проще писать на одном языке?
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.10.2015, 16:52
Ответы с готовыми решениями:

Оптимизация производительности C#.NET (Алгоритм, Многопоточность, Debug, Release, .Net Core, Net Native)
Решил поделится своим небольшим опытом по оптимизации вычислений на C#.NET. НЕ профи, палками не...

Ищу веб-дизайнера для совместной работы
Привет, я ищу веб-дизайнера (начинающего) для совместной работы над созданием сайтов. О себе: ...

Ищу сотрудника и друга для совместной работы
Привет. Я занимаюсь веб-программированием и многими другими вещами. Я ищу человека с которым можно...

Настройка сети (два роутера для совместной работы)
Есть два роутера - TRENDnet TEW-652BRP и DIR-300. Две комнаты (А и Б). В комнату Б проведён...

Софт для совместной работы с функцией шаблона проекта
Добрый день! Мне нужен софт для планирования и контроля выполнения простых и однообразных...

4
tezaurismosis
Администратор
Эксперт .NET
8669 / 3957 / 733
Регистрация: 17.04.2012
Сообщений: 8,717
Записей в блоге: 14
12.10.2015, 20:12 2
Лучший ответ Сообщение было отмечено Павлушечка как решение

Решение

C++/CLI во многих источниках позиционируется как клей для уже имеющегося кода.
Допустим, в книге Маркуса Хееге.
Писать приложение полностью для .NET на C++/CLI, когда есть C# - это мазохизм.
А если нужно сделать склейку между готовым управляемым и неуправляемым кодом, особенно если того и другого много - самый раз.
Если есть возможность, то конечно лучше писать на одном языке. Это и сэкономит время и избавит от снижения производительности при переключении между управляемым и неуправляемым кодом (особенно если основной костяк на управляемом, который, как известно, не так быстр).
Цитата Сообщение от Павлушечка Посмотреть сообщение
В итоге пришлось потратить кучу времени, на то, чтобы разобраться, как перевести управляемый 2d-массив в c++ - массив
А в чём там проблема была? Копируем поэлементно.
1
Павлушечка
8 / 8 / 0
Регистрация: 17.11.2012
Сообщений: 146
12.10.2015, 21:09  [ТС] 3
Цитата Сообщение от tezaurismosis Посмотреть сообщение
А в чём там проблема была? Копируем поэлементно.
Действительно, можно было бы так сделать, но просто подумал, что нужно делать, так же, как и с одномерными, а в этом случае, насколько я понимаю, рекомендуется не копировать поэлементно, а по управляемому массиву получать указатель (pin_ptr<T>) на его нулевой элемент, и все. Это работает очень быстро, т.к. не происходит перемещения информации. В случае 2D массива захотелось сделать тоже самое (хотя и правда уж лучше сделал бы поэлементно, и не парился), и тут столкнулся с проблемой, что массив типа pin_ptr<T> создать нельзя (чтобы представить двумерный массив, как массив указателей). Может конечно такие мысли возникли из-за неопытности (C++ плохо знаю, программирую в основном на C#)?
0
tezaurismosis
12.10.2015, 21:29
  #4

Не по теме:

Цитата Сообщение от Павлушечка Посмотреть сообщение
по управляемому массиву получать указатель (pin_ptr<T>) на его нулевой элемент
Интересная идея.

0
ПерС
431 / 356 / 322
Регистрация: 05.11.2013
Сообщений: 1,010
Записей в блоге: 6
Завершенные тесты: 1
05.11.2015, 18:01 5
годен ли по факту c++/cli для совместной работы .net разработчиков и с++ разработчиков
я сейчас использую для адаптации старых исходников C++ на новый лад... ну, и учат этому, и заказ такой... в целом, получается, на "решётке" с трудом представляю, как бы справился, да и не особо знаю её
2
05.11.2015, 18:01
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2015, 18:01

Поиск open source проектов для совместной работы
Помогите найти опенсорс проекты, в которых можно было бы поучаствовать в качестве начинающего...

.NET Native: только для Windows Store?
Не могу найти информацию за 2016-2017 год, кто знает возможно ли сейчас делать .net native не...

.NET Native: только для Windows Store?
Все вот очень ждали эту фишку. А она только для Windows Store apps :cry: Правильно понял?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru