从C+;传递数据的最有效(最快)方式是什么+;到Java? P>从C++到java传递数据的最有效方式是什么?

从C+;传递数据的最有效(最快)方式是什么+;到Java? P>从C++到java传递数据的最有效方式是什么?,java,c++,java-native-interface,Java,C++,Java Native Interface,java应用程序需要调用C++应用程序来检索数据。 我可以看到实现这一目标的以下方法: 使用JNI 使用基于文件的方法 使用SWIG 我目前的想法是使用JNI。在提交之前我是否错过了一个更好的方法?JNI将是最好的方法。请注意,javah为您的java类创建了兼容的头文件,您自己编写兼容的头文件非常困难,因此请使用javah。JNI将是最好的方法。注意Javajava为java类创建兼容的头文件,它非常棘手,因此要自己编写兼容的头文件,所以请使用java. ./p> java本地接口,允许您在C

java应用程序需要调用C++应用程序来检索数据。 我可以看到实现这一目标的以下方法:

  • 使用JNI
  • 使用基于文件的方法
  • 使用SWIG

  • 我目前的想法是使用JNI。在提交之前我是否错过了一个更好的方法?

    JNI将是最好的方法。请注意,javah为您的java类创建了兼容的头文件,您自己编写兼容的头文件非常困难,因此请使用javah。

    JNI将是最好的方法。注意Javajava为java类创建兼容的头文件,它非常棘手,因此要自己编写兼容的头文件,所以请使用java. ./p> java本地接口,允许您在C++和Java之间来回传递任何东西。它支持两个方向,但可能很棘手。还有其他的,你可以看看Swig是一个,然后你有JNA。java java的本地接口允许你在C++和Java之间来回传递任何东西。它支持两个方向,但可能很棘手。还有其他的,你可以看看Swig是一个,然后你有JNA。我会选择JNI,请定义效率。为了速度,或者易于使用和维护代码。效率只适用于速度,对吗?否则我会要求最简单的方法:)“效率只适用于速度,对吗?”不。这完全取决于您的实际需求优先级。这两种方法是实现这一点的三种最常见的方法……也许我没有完全理解SWIG的含义,但这与JNI调用API不是一回事吗?(调用API允许您在C或C++程序中嵌入JVM。这比使用JNI仅仅从java程序中调用本机方法稍微复杂一些)。请定义效率。为了速度,或者易于使用和维护代码。效率只适用于速度,对吗?否则我会要求最简单的方法:)“效率只适用于速度,对吗?”不。这完全取决于您的实际需求优先级。这两种方法是实现这一点的三种最常见的方法……也许我没有完全理解SWIG的含义,但这与JNI调用API不是一回事吗?(调用API允许您在C或C++程序中嵌入JVM。这比使用JNI仅仅从java程序中调用本机方法稍微复杂一些。)