【发布时间】:2015-11-04 00:58:43
【问题描述】:
在CLR-Hosting w/o using mono中是否有任何功能具有相同的可能性,例如“mono_add_internal_call”?
单声道
C++ 代码:
static MonoString* Sample ()
{
return mono_string_new (mono_domain_get(), "Hello!");
}
mono_add_internal_call ("Hello::Sample", Sample);
C#代码:
using System;
using System.Runtime.CompilerServices;
class Hello {
[MethodImplAttribute(MethodImplOptions.InternalCall)]
extern static string Sample ();
}
谢谢
【问题讨论】:
-
看看 C++/CLI(或 P/Invoke,如果你能满足你的模型要求)。
-
@LucasTrzesniewski 如果我使用 CLR-Hosting 加载 C# Dll 并使用 P/Invoke,c++ 二进制文件是否与加载 C# Dll 相同?
-
嗯... AFAIK P/Invoke 在后台调用
LoadLibrary,因此它应该最终解析为已加载的HMODULE,从而解析为相同的地址空间。但我从未尝试过,也不确定,所以最好的判断方法是尝试一下。 -
@LucasTrzesniewski P/Invoke 有效,实例相同。谢谢!
标签: c# c++ mono clr clr-hosting