从C ++调用C#代码

我需要能够从C ++调用任意C#函数。http://www.infoq.com/articles/in-process-java-net-integration建议使用ICLRRuntimeHost :: ExecuteInDefaultAppDomain(),但这只允许我调用具有以下格式的方法:int method(string arg)


调用任意C#函数的最佳方法是什么?


万千封印
浏览 787回答 3
3回答

斯蒂芬大帝

使用/ clr标志编译C ++代码。有了它,您可以相对轻松地调用任何.NET代码。例如:#include <tchar.h>#include <stdio.h>int _tmain(int argc, _TCHAR* argv[]){&nbsp; &nbsp; System::DateTime now = System::DateTime::Now;&nbsp; &nbsp; printf("%d:%d:%d\n", now.Hour, now.Minute, now.Second);&nbsp; &nbsp; return 0;}这算是“C ++”吗?好吧,它显然不是标准C ++ ......

千万里不及你

如果您不关心C ++程序(或其中的一部分)是否使用/ clr编译,您可以使用C ++ / CLI简单地调用任何.NET代码(只要您添加对它的引用)。 试试这篇文章。编辑:这是一个很好的教程另一种方法是将您的C#代码公开为COM。
打开App,查看更多内容
随时随地看视频慕课网APP