filmov
tv
Никита Цуканов — Кросс-платформенное объектно ориентированное взаимодействие C# и C++
![preview_player](https://i.ytimg.com/vi/Q2BxcL-83KA/hqdefault.jpg)
Показать описание
Ближайшая конференция — DotNext 2024, 10 — 11 сентября, Москва + online
— —
Забудем ужасы C++/CLI и рассмотрим альтернативу.
При всей простоте использования технологии P/Invoke, она, увы, пригодна лишь для использования библиотек, предоставляющих функции в C-стиле. Объектно-ориентированное же взаимодействие с нативным кодом традиционно реализовывалось средствами C++/CLI, который не совместим с .NET Core (пока) и с не-Windows платформами (вообще).
С движением .NET на другие платформы возникает проблема взаимодействия с неуправляемой частью приложения, которую как-то надо решать.
В докладе будет представлено решение, которое:
- позволяет двухстороннее прозрачное взаимодействие между C++ и C# на уровне интерфейсов, которые могут реализовывать как классы C#, так и классы C++;
- обеспечивает контроль использования памяти на основе подсчёта ссылок;
- не изобретает новый велосипед, а не совсем традиционно использует давно проверенные временем и тысячами приложений технологии и принципы;
- на текущий момент успешно используется в проекте Avalonia для взаимодействия C#«-»C++«-»Objective-C без завязок на хитропропатченные рантаймы типа Xamarin.Mac.
— —
Забудем ужасы C++/CLI и рассмотрим альтернативу.
При всей простоте использования технологии P/Invoke, она, увы, пригодна лишь для использования библиотек, предоставляющих функции в C-стиле. Объектно-ориентированное же взаимодействие с нативным кодом традиционно реализовывалось средствами C++/CLI, который не совместим с .NET Core (пока) и с не-Windows платформами (вообще).
С движением .NET на другие платформы возникает проблема взаимодействия с неуправляемой частью приложения, которую как-то надо решать.
В докладе будет представлено решение, которое:
- позволяет двухстороннее прозрачное взаимодействие между C++ и C# на уровне интерфейсов, которые могут реализовывать как классы C#, так и классы C++;
- обеспечивает контроль использования памяти на основе подсчёта ссылок;
- не изобретает новый велосипед, а не совсем традиционно использует давно проверенные временем и тысячами приложений технологии и принципы;
- на текущий момент успешно используется в проекте Avalonia для взаимодействия C#«-»C++«-»Objective-C без завязок на хитропропатченные рантаймы типа Xamarin.Mac.
Никита Цуканов — Кросс-платформенное объектно ориентированное взаимодействие C# и C++...
Никита Цуканов 'Кросс-платформенное объектно-ориентированное взаимодействие C# и C++'...
Никита Цуканов 'Avalonia UI Cross-platform Open Source UI Framework'
Никита Цуканов — AvaloniaUI — первый кроссплатформенный XAML UI-фреймворк с поддержкой .NET Core...
Никита Цуканов — Использование Linux в качестве платформы для серверных .NET-приложений...
Никита Цуканов — C# в браузере — миф или реальность?
Никита Цуканов — Круглый стол. .NET и технологии НЕ от Microsoft...
Собрать всё, или Знакомимся с Cake (C# Make) — Никита Цуканов
Никита Цуканов «Параллелизм и распределённые вычисления на акторах с Akka.NET»...
CLRium #3: Кросс-платформенная разработка с использованием AvaloniaUI...
Никита Цуканов - Как перестать бояться и подружиться с MSBuild...
#21 - Наконец-то закончили стилизацию системных кнопок в AvaloniaUI...
C ++|CLI - ОСНОВЫ. Бесплатное тестирование и сертификация. Онлайн курсы....
#03 - Простое отображение файлов и папок в AvaloniaUI
#19 - Знакомимся с Selectors в AvaloniaUI
Я самый счастливый - Никита Цуканов
Avalonia OSX Native Menu Demo
C#. ТОП 10 ключевых слов в C#
С чего начать изучение С#
QML.Net
ACCA и BDO. Татьяна Игнатова, Microsoft: кросс-функциональное взаимодействие на примере комплаенса...
Михаил Матросов, Александр Воронков — Как апгрейдили компилятор и поддерживали кроссплатформенность...
Кто такой Андрей Цуканов?
DotNext 2021 Piter: Видеоинструкция
Комментарии