从托管C ++传递128位到C#

时间:2011-08-30 18:47:17

标签: c# managed-c++

我在托管C ++ DLL中有一个函数需要将128位传递回C#。我在C#上发现了很多关于调用非托管 C ++的主题,但关于管理托管调用却没有那么多。

此调用将在紧密循环中发生,可能每天在服务器场中发生数十亿次。

传回比特的最有效方法是什么?

到目前为止,我考虑使用GUID结构作为比特的方便容器,但我不清楚.NET运行时是否会结构化GC,而且我不确定这是否是最有效的机制。

1 个答案:

答案 0 :(得分:1)

简单地说,传递C ++ / CLI中定义的以下类型的变量:

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

应该是你能做的最快的。