Форум программистов, компьютерный форум, киберфорум
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. Показов 1616. Ответов 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
9673 / 4825 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 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
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru