Как в DllImport указать соглашение __vectorcall?

118
26 августа 2021, 04:30

Возможно ли вообще это, или .NET Framework с данным соглашением не умеет работать?

Answer 1

.NET этого не умеет.

Но можно создать C++ функцию-враппер, а потом вызывать ее из c# метода. То есть будет принмать аргументы обычным способом (cdecl), а затем перенаправляет их в с++ unmanaged function работающую с __vectorcall.

Костыль, но должен сработать.

Так же стоит учитывать что __vectorcall делается только в x86 платформе.

Ответ основан на :

https://stackoverflow.com/a/39716118/4423545

https://stackoverflow.com/a/34832883/4423545

READ ALSO
Переменная bool зависимая от значения float

Переменная bool зависимая от значения float

Нужно заиметь 2 переменные: флоат и бул

129
Чем отличаются AddScoped, AddTransient и AddSingleton

Чем отличаются AddScoped, AddTransient и AddSingleton

Я хочу проверить, чем отличаются AddScoped, AddTransient и AddSingletonДля этого создал сервис и два субсервиса, чтобы сравнить их хешкоды

89
Реализация мини-бэкап программы C#

Реализация мини-бэкап программы C#

Задача: реализовать мини программу по бекапу определенной директории определенного диска

118
Разница между конфигурациями Debug и Release в VS

Разница между конфигурациями Debug и Release в VS

Мне известно назначение каждой конфигурации и то, что в Release проводится оптимизация, а в Debug машинный код полностью соответствует написанному...

153