我需要能够从C ++调用任意C#函数。http://www.infoq.com/articles/in-process-java-net-integration建议使用ICLRRuntimeHost :: ExecuteInDefaultAppDomain(),但这只允许我调用具有以下格式的方法:int method(string arg)调用任意C#函数的最佳方法是什么?
3 回答
斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
使用/ clr标志编译C ++代码。有了它,您可以相对轻松地调用任何.NET代码。
例如:
#include <tchar.h>
#include <stdio.h>
int _tmain(int argc, _TCHAR* argv[])
{
System::DateTime now = System::DateTime::Now;
printf("%d:%d:%d\n", now.Hour, now.Minute, now.Second);
return 0;
}
这算是“C ++”吗?好吧,它显然不是标准C ++ ......
千万里不及你
TA贡献1784条经验 获得超9个赞
如果您不关心C ++程序(或其中的一部分)是否使用/ clr编译,您可以使用C ++ / CLI简单地调用任何.NET代码(只要您添加对它的引用)。 试试这篇文章。
编辑:这是一个很好的教程
另一种方法是将您的C#代码公开为COM。
- 3 回答
- 0 关注
- 786 浏览
添加回答
举报
0/150
提交
取消