是否可以从本机 C 代码调用以托管代码(可能在类或库中)编写的 C# 方法(以及如何调用)?
thx
编辑:对于“c#”,我主要指的是 mono 甚至 portable.net,操作系统是 Linux
您的 C 代码可以定义函数来注册回调。 C# 代码可以 P/Invoke 这些函数,并将托管委托作为参数传递。编组代码将透明地将它们转换为 C 函数指针。
或者,从 C 端处理它,您可以使用 Mono 嵌入 API 来加载程序集、查找 MonoMethods 并调用它们。
使用嵌入 API 要复杂得多。如果您的入口点是 C 语言,则必须使用嵌入 API,但简单地编写一个托管方法来执行回调注册和任何其他托管设置可能更容易,那么您只需加载并调用该单个方法来自 C 代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)