Передать 128 бит из управляемого C ++ в C # - PullRequest
1 голос
/ 30 августа 2011

У меня есть функция в управляемой C ++ DLL, которая должна передать 128 бит обратно в C #. Я нашел довольно много на тему вызова неуправляемых C ++ из C #, но не так много об управляемых управляемых вызовах.

Этот вызов будет происходить по замкнутому циклу, потенциально миллиарды раз в день по всей ферме серверов.

Какой самый эффективный способ вернуть биты?

До сих пор я рассматривал использование структуры GUID в качестве удобного контейнера для битов, но мне не ясно, будет ли среда выполнения .NET собирать эту структуру, и я не уверен, является ли это наиболее эффективным механизмом.

1 Ответ

1 голос
/ 30 августа 2011

Проще говоря, передавая переменные следующего типа, определенного в C ++ / CLI:

public value struct Int128
{
    System::Int64 lo;
    System::Int64 hi;
};

должно быть как можно быстрее.

...