-
Notifications
You must be signed in to change notification settings - Fork 26
/
Copy pathCrossplatform-OO-Interaction-between-Csharp-and-Cpp.xml
16 lines (16 loc) · 2.3 KB
/
Crossplatform-OO-Interaction-between-Csharp-and-Cpp.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<Talk>
<Id>Crossplatform-OO-Interaction-between-Csharp-and-Cpp</Id>
<SpeakerIds>
<SpeakerId>Nikita-Tsukanov</SpeakerId>
</SpeakerIds>
<Title>Кросс-платформенное объектно-ориентированное взаимодействие C# и C++</Title>
<Description>При всей простоте использования технологии P/Invoke, она, увы, пригодна лишь для использования библиотек, предоставляющих функции в C-стиле. Объектно-ориентированное же взаимодействие с нативным кодом традиционно реализовывалось средствами C++/CLI, который не совместим с .NET Core (пока) и с не-Windows платформами (вообще).
С движением.NET на другие платформы возникает проблема взаимодействия с неуправляемой частью приложения, которую как-то надо решать.
В докладе будет представлено решение, которое:
- позволяет двухстороннее прозрачное взаимодействие между C++ и C# на уровне интерфейсов, которые могут реализовывать как классы C#, так и классы C++;
- обеспечивает контроль использования памяти на основе подсчёта ссылок;
- не изобретает новый велосипед, а не совсем традиционно использует давно проверенные временем и тысячами приложений технологии и принципы;
- на текущий момент успешно используется в проекте Avalonia для взаимодействия C#/C++/Objective-C без завязок на хитропропатченные рантаймы типа Xamarin.Mac.</Description>
<SlidesUrl>https://github.com/DotNetRu/AuditBlobs/blob/master/slides/Crossplatform-OO-Interaction-between-Csharp-and-Cpp.pdf</SlidesUrl>
<VideoUrl>https://www.youtube.com/watch?v=EDIWi0O3CSE</VideoUrl>
</Talk>