Информация об изменениях

Сообщение Re[5]: .Net Core. Вызов манагед кода из натива от 30.05.2016 11:59

Изменено 30.05.2016 12:38 Serginio1

Здравствуйте, LWhisper, Вы писали:

LW>Серьёзно, друг, перечитай своё сообщение. Даже твои посты на форуме невозможно читать, не говоря уже о коде.

LW>Это какой-то поток мыслеобразов, которые понятны лишь тебе.

S>> Если бы ты почитал поподробнее то увидел бы, как можно сделать вызов static манагед функции из натива.

S>>А значит можно упаковать ссылку (индекс) на объект, имя метода,параметры с типом в Stream и передавать в виде IntPtr в обе стороны.
S>>Понятно, что со стороны натива нужно передать ссылку в манагед на метод выделения памяти.
S>>Сам .Net так и поступает при маршалинге Com объектов. Просто в Linux нет понятия COM и это надо сделать самим.
S>>Но выхлоп заключается в том, что на линуксе из натива можно вызвать любой .Net объект.
S>>В Windos так и делается. Мало того есть компиляция обертки для использования событий .Net классов в нативе через обертку в COM события.
S>> Что касается ссылок, то я в С++ не силен. Кроме того .Net Core сильно меняется с каждой бетта версией
LW>Я честно пытался прочитать и предыдущий твой пост и этот. Ответа на вопрос — чем тебя не устраивает предложенное в статье решение я не нашёл.
LW>Ты хочешь шарить .NET объекты в виде интерфейсов неявным образом, по образу и подобию COM-объектов? Зачем? Это устаревшая технология, которой на замену давно пришёл C++/CLI. В этом случае стоит посмотреть в сторону CLang, если тебе нужно направление в котором стоит копать. Или ты ищешь готовое решение из коробки? Тебе сюда: https://github.com/Marqin/simpleCoreCLRHost
Кстати эта ссылка есть и в моих http://forums.dotnetfoundation.org/t/how-to-call-a-net-core-library-from-native-code-on-linux/1576/2
Но отдельно выделю. Спасибо.

1C понимает только COM. И очень удобно расширять её возможности с помощью COM обертки вокруг .Net объектов.
Для Линукс нужно сделать аналог, с обменом данных между нативом и .Net по аналогии с IDispatch.
За ссылку спасибо. Сейчас изучаю С++. Но времени мало.
Re[5]: .Net Core. Вызов манагед кода из натива
Здравствуйте, LWhisper, Вы писали:

LW>Серьёзно, друг, перечитай своё сообщение. Даже твои посты на форуме невозможно читать, не говоря уже о коде.

LW>Это какой-то поток мыслеобразов, которые понятны лишь тебе.

S>> Если бы ты почитал поподробнее то увидел бы, как можно сделать вызов static манагед функции из натива.

S>>А значит можно упаковать ссылку (индекс) на объект, имя метода,параметры с типом в Stream и передавать в виде IntPtr в обе стороны.
S>>Понятно, что со стороны натива нужно передать ссылку в манагед на метод выделения памяти.
S>>Сам .Net так и поступает при маршалинге Com объектов. Просто в Linux нет понятия COM и это надо сделать самим.
S>>Но выхлоп заключается в том, что на линуксе из натива можно вызвать любой .Net объект.
S>>В Windos так и делается. Мало того есть компиляция обертки для использования событий .Net классов в нативе через обертку в COM события.
S>> Что касается ссылок, то я в С++ не силен. Кроме того .Net Core сильно меняется с каждой бетта версией
LW>Я честно пытался прочитать и предыдущий твой пост и этот. Ответа на вопрос — чем тебя не устраивает предложенное в статье решение я не нашёл.
LW>Ты хочешь шарить .NET объекты в виде интерфейсов неявным образом, по образу и подобию COM-объектов? Зачем? Это устаревшая технология, которой на замену давно пришёл C++/CLI. В этом случае стоит посмотреть в сторону CLang, если тебе нужно направление в котором стоит копать. Или ты ищешь готовое решение из коробки? Тебе сюда: https://github.com/Marqin/simpleCoreCLRHost
Кстати эта ссылка есть и в моих http://forums.dotnetfoundation.org/t/how-to-call-a-net-core-library-from-native-code-on-linux/1576/2
И This C++ app allows to run custom C# method from compiled C# .dll on Linux and OS X using coreCLR




1C под Win понимает только COM. И очень удобно расширять её возможности с помощью COM обертки вокруг .Net объектов.
Для кроссплатформенности введен Native ВК
Для Линукс нужно сделать аналог, с обменом данных между нативом и .Net по аналогии с IDispatch.
За ссылку спасибо. Сейчас изучаю С++. Но времени мало.