Никита Цуканов — Кросс-платформенное объектно ориентированное взаимодействие C# и C++

preview_player
Показать описание
Ближайшая конференция — 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.
Рекомендации по теме
Комментарии
Автор

Как всегда, Никиту послушал, ничего не понял, но очень интересно

fpcrwiq