我正在做一个项目,并有一个C#库,但我需要在Linux上用C代码调用它。最有效的方法是什么?性能是首要考虑因素。
当然,我可以制作一个C#服务并使用TCP进行通话。但我想知道这是不是最好的方式......
谢谢!
答案 0 :(得分:0)
我认为最标准的解决方案是让您的C#服务导出一个“Web服务”远程API,然后C代码可以通过标准的Linux Web服务包访问它。实际上,这些支持一种RPC形式,但是网页编码请求以及回复。使用Web服务的优点是通用性;您的解决方案将移植到任何平台,并且可以使用任何语言,而不仅仅是C。
另一种方法是使用谷歌,Facebook,Twitter等新的开源软件包之一。许多云供应商正在开源他们的RPC基础架构,因为许多客户提出了您的确切问题并需要这些解决方案。这些在其他方面肯定会更快,更强大:它们包括强大的性能可视化工具和各种调试器。 Microsoft也有一种远程方法调用技术。所以这些都是一种选择,可能不那么普遍,但肯定更快。所以你必须问这个特定路径的速度有多重要......
然后底线是你可以使用五个包。不知道哪个胜利或最好!
答案 1 :(得分:0)
您还可以使用CoreRT从C#代码创建本机库并从C调用它们。您可以找到示例here