繁体   English   中英

从 C++ 调用 C# function?

[英]Calling C# function from C++?

我正在用 monotouch 编写一个应用程序,它还使用 C++ 库,所以我一直在使用 p/inoke 从 C# 调用 C++ 函数来做各种事情。 但是,出现了一些情况,我希望 C++ 代码改为调用 C# 函数。

所以像:

void CPlusPlusFunction(Pointer* stuff)
{
    //do stuff

    CSharpFunction(*stuff);
}

这可能吗?如果可以,我怎么能 go 关于它? 也许不是调用 function 而是可以将委托传递给 C++ 来调用,如果是这样,那将如何工作? 我真正想做的就是在 function 中立即将一些信息传递给 C#。

谢谢你的帮助!

是的你可以。 但是,用于为设备编译的 MonoTouch 代码的 AOT 编译器必须知道此类回调,以便它可以生成适当的代码。 因此,您的回调必须使用[MonoPInvokeCallback]属性进行修饰。

http://developer.xamarin.com/guides/ios/advanced_topics/limitations/#Reverse_Callbacks

您可以要求 C# 从共享库中导出函数,就像原生库一样。 另外,C#可以将delegate转换为相同签名的function指针,可以传入C++。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM