我有一个二进制可执行文件,我在c ++中有源代码。我需要在Java代码中以某种方式使用它。我计划将它包装为Java中的类,因此我的代码将调用我的类而不是直接调用可执行文件。这类似于.net包装旧的com组件。由于我是java的新手,我想知道是否有更好的解决方法。
答案 0 :(得分:1)
这取决于你想要使用它的“某些方式”。
如果你想直接调用方法,你(可能)需要学习JNI。有一些奇怪的COM< - > Java的东西,或者至少曾经是。
如果您希望或多或少地“管道”数据进出可执行文件,类似于UNIX命令,您需要查看Runtime.exec()或更新(和更好)的ProcessBuilder。直接使用Runtime.exec()很有挑战性,因此,如果这是您想要的,请搜索一些有助于支持它的库,或者例如代码。
(针对OP的评论添加了编辑)对于作为shell命令运行,您将需要查看RUntime.exec()或ProcessBuilder。以下是一些链接: