我正在编写一个C ++程序,它需要能够读取复杂而深奥的文件类型。我已经有一个用于处理这些文件的Java程序,其中包括将它们转换为更简单的文件格式的功能。我的想法是,每当我的程序需要从复杂文件中读取信息,让它调用Java方法将其转换为更简单的文件类型,然后将其写入我的程序可以轻松读取的临时文件。文件足够小,性能可以接受。我正在Qt中编写我的程序并在Windows Vista机器上运行它。
我已经研究过使用Java Native Interface了,但是我越是关注它,我就越应该不惜一切代价避免它。有没有更好的方法来实现这一目标,还是应该继续使用JNI方法?
答案 0 :(得分:6)
您多久需要这样做?如果不是经常那么你可以在那里做出来。只需生成命令行即可完成。 JNI有效,但设置起来有点痛苦。一旦你完成它设置它应该工作正常。
答案 1 :(得分:3)
为什么不为java算法创建一个可执行jar?
答案 2 :(得分:2)
使用GCJ将Java转换为lib以供您链接。
它可能和JNI一样痛苦,但至少你不会再加载或依赖JRE了。
答案 3 :(得分:1)
您可能会对SWIG感兴趣。 “SWIG是一个软件开发工具,它将用C和C ++编写的程序与各种高级编程语言连接起来.SWIG与不同类型的语言一起使用,包括常见的脚本语言,如Perl,PHP,Python,Tcl和Ruby”< / p>
答案 4 :(得分:1)