Форум программистов, компьютерный форум, киберфорум
C++/CLI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
8 / 8 / 0
Регистрация: 17.11.2012
Сообщений: 159

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

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

Студворк — интернет-сервис помощи студентам
На практике, основной целью c++/cli является возможность взаимодействия чистого с++ и платформы .net (кто-то скажет, что этот язык нужен скорее для того, чтобы с++ программист мог писать .net приложения, но все-таки уж проще по-моему это делать на c#, даже если уже знаешь с++. Недавно пришлось писать оболочку .Net функции на с++/cli, для дальнейшего ее использования на чистом c++. В итоге пришлось потратить кучу времени, на то, чтобы разобраться, как перевести управляемый 2d-массив в c++ - массив. Проще было-бы сразу эту функцию писать на чистых плюсах. Так вот вопрос заключается в том, а годен ли по факту c++/cli для совместной работы .net разработчиков и с++ разработчиков, раз возникают такие проблемы, или проще писать на одном языке?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.10.2015, 16:52
Ответы с готовыми решениями:

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

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

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

4
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9670 / 4823 / 762
Регистрация: 17.04.2012
Сообщений: 9,661
Записей в блоге: 14
12.10.2015, 20:12
Лучший ответ Сообщение было отмечено Павлушечка как решение

Решение

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

Не по теме:

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

0
 Аватар для ПерС
587 / 490 / 371
Регистрация: 05.11.2013
Сообщений: 1,271
Записей в блоге: 6
05.11.2015, 18:01
годен ли по факту c++/cli для совместной работы .net разработчиков и с++ разработчиков
я сейчас использую для адаптации старых исходников C++ на новый лад... ну, и учат этому, и заказ такой... в целом, получается, на "решётке" с трудом представляю, как бы справился, да и не особо знаю её
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.11.2015, 18:01
Помогаю со студенческими работами здесь

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

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

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

C++\CLI vs C# для .NET
Пожалуйста посоветуйте что из этого лучше для .net, сейчас пишу на С++, нужно ли переходить на C# чтобы полноценно пользоваться .net? ...

Собираю команду для совместной работы над масштабным проектом
Всем привет! Собираю команду для работы над большим проектом web, и мобильных систем. Вся информация при переговорах. ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru