mono_add_internal_call在运行时

时间:2016-09-09 10:56:06

标签: c# c++ unity3d mono

我想在调用mono_add_internal_call后添加内部调用单声道(可能使用mono_jit_exec)。但是,如果有可能,我现在不会。在进行了一些挖掘之后,似乎mono_add_internal_call("ClassName:MethodName", myNativeMethod)只是将参数添加到哈希表中,该哈希表稍后(我猜)已经处理/熟化到方法表中(可能由JIT触发)。

有关信息,我正在使用Unity,并希望添加内部调用以消除使用PInvoke调用C ++的开销(这是一个非常重要的事情)。但Unity控制单声道嵌入。因此,我发现添加内部调用的唯一方法是从 C#(通过 PInvoke )调用本机DLL,后者又会找到 mono.dll < / em>,然后找到指向mono_add_internal_call

的指针

所以我的问题是:

  • 有没有办法在运行时'JIT'方法(基本上是在调用mono_jit_exec后)
  • 是否有其他方法可以使用mono_add_internal_call之外的其他内容添加内部调用(可能使用MonoMethodMonoMethodBuilder
  • 是否有其他方法可以消除 PInvoke 的开销(这实际上是我的最终目标)(顺便使用 mono 或不使用D)

0 个答案:

没有答案