互操作性java和c ++

时间:2015-03-23 16:19:43

标签: java c++ interop language-interoperability

我想用两种不同语言java和c ++编写一个程序,它需要在c ++组件和java组件之间进行动态和交互式通信。我知道有jni和jna用于在java中调用本机方法但我不认为这方法适合我的目的。

例如:假设一个程序,其用户界面是用c ++和其他java编写的,我不认为通过jni和jna可以完成这两个组件的通信。例如,Open Office是用java和c ++编写的。 我搜索了互联网,找到了一些进程间通信的方法 像共享内存,管道,信号,消息传递,...但我不知道进程间通信是我需要的。似乎ipc用于在两个不同的过程中进行软件通信,但我的程序都是一个过程(我是对的吗?!)

所以我的问题是:如何其组件以不同语言编写的程序一起进行通信?和我怎么能实现这个目标?

1 个答案:

答案 0 :(得分:1)

JNI的确是为了您所描述的目的而创建的;为什么不是"你需要什么"?

另一个选项:具有不同语言实现的消息代理,例如http://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol

但是当你强调延迟时,这可能不适合你。