c++和Java是如何相互通信的

How do C++ and Java communicate with each other?

本文关键字:何相互 通信 Java c++      更新时间:2023-10-16

是否有同时使用c++和Java的程序/软件?

如果是,他们是如何相互沟通的?

理论和程序。

示例:假设我想用Java applet或类似的东西运行一个c++文件

Java原生接口

Pro:从Java调用c++库和从Java调用c++库的快捷方式。

Contra:你需要控制库以使其支持JNI。

从Java创建进程并通过输入和输出流与之通信

Pro:二进制文件在一个单独的线程中运行。二进制可以在任何允许基于命令行输入和输出的编程语言中实现。

Contra:数据交换是基于文本的。您只能通过命令行接口限制标记应用程序所能做的事情。

使两个应用程序通过网络套接字通信

Pro:应用程序可以在任何支持网络套接字的技术中实现。您可以轻松地将组件移动到另一台机器上,以提高可伸缩性。营销部门可以称之为"云动力"。

Contra:应用程序必须基于网络。即使在本地运行时,绕过操作系统的网络堆栈也会引入额外的延迟。必须采取安全措施,不允许未经授权的客户端连接到充当服务器的组件。