0

我一直在用 Java 和 C 做一些编程,但现在我需要同时使用两者。

情况就是这样,我使用 hadoop/Hbase 处理和存储大量数据,但我使用 C/Cuda 对数据进行数字运算。是否有一种稳定/成熟/通用的方式来获取 Java 中的数据(它基本上是一个日志文件)并将其传递给 C 程序,该 C 将其存储为链表的数据处理,然后由 Java 应用程序访问?

我可能没有在寻找正确的东西,但到目前为止,我找到了 JavaCPP,它很好,但似乎将两个程序结合在一起。因为 Java 处理数据流,而 C 处理数据处理,所以我认为最好将它们保留为可以相互通信的独立程序,而不是可能会变得混乱的单个程序。但我完全灵活,所以欢迎任何建议/解决方案。

4

2 回答 2

2

如果您将它们分开然后使用客户端-服务器方法,或者简单地选择一种通用文件格式并让后面的步骤轮询输出目录以处理新文件,您可能会发现更容易保持程序的可测试性和清晰性。

为了更轻松地定义跨不同语言的文件格式,请考虑使用Apache ThriftGoogle Protocol Buffers之类的包。

于 2012-10-14T18:17:39.697 回答
0

这里是我的头上 1. 使用来自 java 应用程序的命令行运行 C 程序。2. 使用 JNI/JNA 3. 实现自己的“客户端-服务器”架构。这听起来很复杂,但在某些情况下,它可能是最好和最简单的解决方案。4. 使用 Web 服务、SOAP、REST 等进行通信。

我希望这对开始有帮助。欢迎您提出更具体的问题。

于 2012-10-14T18:09:49.490 回答