如何从Java调用C++?

use*_*500 27 c++ java xml java-native-interface

我想从Java调用C++方法.我读到了JNI,但我没有得到如何获取所有库文件以及我应该保留它以便从命令行运行程序.

有没有办法从Eclipse本身调用C++方法,因为我用它来运行Java类.

Fer*_*lez 7

如果JNI太复杂,你可以看看JNA.在第一种情况下,您必须创建本机包装器代码(在C或C++中)以加入Java和本机(C++/C/...)代码.在第二种情况下,它在运行时完成(因此您只需要Java代码+配置).


Mic*_*son 7

虽然我过去使用过JNI-C++桥接(虽然只有一点点) - 但它可能有点难看.您可能需要考虑使用SWIG来帮助您生成所有杂乱的锅炉板代码.


Pet*_*rey 5

我使用 JNR/FFI https://github.com/jnr/jnr-ffi,我发现它比 JNA 更快,比 SWIG 更容易。我发现它的速度与 JNI 非常接近,但更不容易出错。