Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
封装可解释的 我有一个二进制可执行文件,我在C++中有源码。我需要在Java代码中以某种方式使用它。我计划用Java将其包装为一个类,因此我的代码将调用我的类,而不是直接调用可执行文件。这类似于.net包装旧com组件的方式。由于我是java新手,我想知道是否有更好的方法来解决它。_Java_Executable_Encapsulation - Fatal编程技术网

封装可解释的 我有一个二进制可执行文件,我在C++中有源码。我需要在Java代码中以某种方式使用它。我计划用Java将其包装为一个类,因此我的代码将调用我的类,而不是直接调用可执行文件。这类似于.net包装旧com组件的方式。由于我是java新手,我想知道是否有更好的方法来解决它。

封装可解释的 我有一个二进制可执行文件,我在C++中有源码。我需要在Java代码中以某种方式使用它。我计划用Java将其包装为一个类,因此我的代码将调用我的类,而不是直接调用可执行文件。这类似于.net包装旧com组件的方式。由于我是java新手,我想知道是否有更好的方法来解决它。,java,executable,encapsulation,Java,Executable,Encapsulation,这取决于您想要使用它的“特定方式” 如果您想直接调用方法,您(可能)需要学习JNI。有一些奇怪的COM Java东西,或者至少曾经有过 与UNIX命令类似,如果您希望或多或少地将数据“管道”到可执行文件中或从可执行文件中“管道”出,则需要查看Runtime.exec()或更新(更好)的ProcessBuilder。直接使用Runtime.exec()很有挑战性,因此,如果这是您想要的,请搜索一些有助于支持它的库,或者例如代码 (编辑是为了响应OP的注释而添加的)对于作为shell命令运行,您需要

这取决于您想要使用它的“特定方式”

如果您想直接调用方法,您(可能)需要学习JNI。有一些奇怪的COM Java东西,或者至少曾经有过

与UNIX命令类似,如果您希望或多或少地将数据“管道”到可执行文件中或从可执行文件中“管道”出,则需要查看Runtime.exec()或更新(更好)的ProcessBuilder。直接使用Runtime.exec()很有挑战性,因此,如果这是您想要的,请搜索一些有助于支持它的库,或者例如代码

(编辑是为了响应OP的注释而添加的)对于作为shell命令运行,您需要查看RUntime.exec()或ProcessBuilder。以下是一些链接:


通过“二进制可执行文件”DYM创建一个包含类的Jar?您希望将其包装为类。Java字节码?或者,C++ C++ C++语言的代码,或者是安得烈java的文件,或者编译的C/C++等文件(例如,在Windows上,.exe文件),实际上我找到了它的C++源代码。有代码< > java原生接口(JNI)< /C> >,它是用来调用爪哇中的本地代码(主要是C++编写的)。你能修改C++代码吗?我相信您应该以某种方式修改它(在参数的情况下,或者添加一些编译器指令)以使用JNI调用它。顺便看看简化JNI的类库。