工控机采用CORBA、C++和Java
IPC using CORBA with C++ and Java
我决定使用CORBA在C++服务和java服务之间进行通信。我想知道,使用CORBA来调用C++库和java库是否可能,就像我们在应用程序中调用dll一样。如果有人帮助我做出一个好的决定,那将是非常有帮助的!
CORBA用于"远程"组件之间的交互。尽管我在这里使用了术语"远程",但这并不意味着组件需要位于远程机器中。它们可以在同一台机器上,甚至在同一个过程中。
答案主要取决于你的目标:
如果你正在用C++和Java编写新的库/组件,并且你想在同一个应用程序中使用它们,并且这两种语言的组件能够相互交互,那么是的,CORBA可以在一定程度上帮助你。但是CORBA在组件通信部分对您有帮助。您仍然需要使用JNI(或其他类似的解决方案)来调用/启动Java/C++应用程序中的C++/Java组件。CORBA不会在这方面帮助你。您可能想做额外的POC,看看在同一个应用程序中有两个ORB(一个用于C++,一个用于Java)是否会给您带来任何问题。
如果您谈论的是:您已经有一些现有的库是用Java和C++编写的(当然,不是用CORBA支持的方式),并且您正在寻找在您的新应用程序(Java/C++)中使用这些库的方法。不,CORBA在这方面帮不了你多少忙。当然,你仍然可以编写一个额外的层,在CORBA中公开你的组件,并利用它们,但在这里使用CORBA并不会让"调用C++库或Java库"变得更容易。
然而,imho,以上两种情况似乎都不是使用CORBA的有力理由。如果您只是在寻找Java和C++库、JNI或JNA的互操作性,那么您可能想要研究一下。
相关文章:
- 在java中解决这段代码时面临循环中的问题
- 尝试用java代码编译和运行c++代码
- 在这种情况下,java对象是否可以调用本机函数
- 在java中读取c++字节的位字段
- 为什么C++对链表中的下一个节点使用指针,而像 C# 或 Java 这样的语言只使用类 Node 的名称?
- 使用已使用 java 编码的 openssl 解码数据
- SWIG Java 在使用 -DSWIGWORDSIZE64 时将int64_t转换为 jlong
- Android Java USB for native cpp
- 在由Sublime文本3编译后在cmd上显示Java程序输出
- C++ equivalent to Java Map getOrDefault?
- C++ 中的 Java 样式枚举
- 是否有技术原因阻止 Java 中的 final C++ 像 const 一样严格?
- 加密在 Windows、C++ 和 Java 中传输中的数据
- Java从C++回调到C++回调
- 在 c++ 中模拟输入并在 JAVA 中读取它?
- 用C++包装 Java 库 (JNI)
- 使用 TreeSet Java 对反转进行计数
- 验证openssl c++中的签名,这是由JAVA DSA签名的?
- 如何通过 JNI 将 C 字符串表情符号传递给 Java
- 如何从保存在 Java 中C++的字节数组中读取数字?