前端Java,后端C ++,如何加入?

问题描述 投票:3回答:5

让我们给出一个过于基本的例子,我有一个程序通过一个目录并抓取目录中的文件列表。 为了论证,假设这个HAS是用C ++完成的。 然后我希望使用Java Swing呈现文件列表?

这是怎么做到的?

java c++
5个回答
4
投票

您可以让您的C ++程序写入Stdout,然后您的Java程序可以从中读取。 然后,您可以让Java前端执行C ++后端,然后读取结果。

本文是关于如何使用stdout / stderr的良好信息来源。


2
投票

您可以通过Java Native Interface(JNI)完成此操作 。 Oracle有一个官方指南 ,但你可能会发现谷歌更容易获得教程。


1
投票

一种基本方法是将c ++输出存储在文本文件中并从java中读取。


1
投票

C ++程序将列表放在特定文件中,Java程序读取该文件? 另一种方法可能是使用套接字(我不太了解Java以了解其IPC的可能性)来在“实时”程序之间进行通信。

最后,如果你必须同时使用C ++和Swing,那么你不能在一个程序中完成它。


0
投票

像Kevin建议的那样使用Java Native Interface(JNI)。 或者,如果需要在Java和C ++之间建立进程边界,则需要将运行C ++代码的进程中的对象序列化为JVM进程。

你也可以在1998年Dr. Dobb的文章中找到一些用处。

© www.soinside.com 2019 - 2024. All rights reserved.