Re[16]: .Net Core Вызов виртуальных методов нативных объекто
От: pilgrim_ Россия  
Дата: 18.11.16 13:46
Оценка:
Здравствуйте, Serginio1, Вы писали:

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


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


S>>>Попробовал с VMT

S>>>Определил методы

_>>Вот ты неуемный ты бы для начала проверил, работает ли COM-интероп на linux — ведь это же твоя цель?

_>>И если работает — тему можно закрывать, COM-интеропа тебе хватит за глаза.
_>>Или ты заради любви к искусству?

S> И то и другое. Да ине нужны мне методы IUknown. Я итак передаю нужныю ссылку, а подсчет ссылок если мне нужно организую сам.


Не забывай про связку native -> managed iface, временем жизни managed объекта на стороне managed тоже ручками придется управлять.

S> Для приведения к интерфейсу при вызове одного метода идет куча QueryInterface Addref,Release

S>http://rsdn.org/forum/dotnet/6611240.1
Автор: pilgrim_
Дата: 15.11.16


забей и смирись
Автор: pilgrim_
Дата: 18.11.16



_>>CallingConvention.Winapi — тот же stdcall

_>>CallingConvention.ThisCall — зачем тебе это?


S> Вот CallingConvention.ThisCall то работает для


_>Используй stdcall как в native коде, так и в делегате на C#, и все будет норм.


S> Проблема в том, что ThisCall и stdcall не совместимы.


Внимательно смотри выделенное, stdcall (как и cdecl) — это C-стандарт соглашений о вызове, с одинаковой реализацией разными компиляторами,
тогда как thiscall — compiler specific — https://en.wikipedia.org/wiki/X86_calling_conventions#thiscall .
Тебя все еще интересует linux?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.