Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.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
如何在Java中使用Linux共享库?_Java_Linux_Shared Libraries - Fatal编程技术网

如何在Java中使用Linux共享库?

如何在Java中使用Linux共享库?,java,linux,shared-libraries,Java,Linux,Shared Libraries,有没有办法从我的Java代码中调用so库中的函数?一般来说,可以在Java程序中使用Linuxso库吗?答案是“JNI”: 以下是几个链接: 您不能使用任意的。因此库在您的Java代码中。您可以使用JNI围绕本机代码编写包装器,以便从Java进行访问 但是,请注意,这样做会否定使用Java的许多优点。您的代码和部署系统现在变得非常脆弱,并且容易受到Java中无法发生的许多类型的错误的影响。在使用本机代码之前,我会尽力找到一个纯Java解决方案。除了JNI之外,从Java访问库的另一种方法

有没有办法从我的Java代码中调用
so
库中的函数?一般来说,可以在Java程序中使用Linux
so
库吗?

答案是“JNI”:

以下是几个链接:


您不能使用任意的
。因此
库在您的Java代码中。您可以使用JNI围绕本机代码编写包装器,以便从Java进行访问


但是,请注意,这样做会否定使用Java的许多优点。您的代码和部署系统现在变得非常脆弱,并且容易受到Java中无法发生的许多类型的错误的影响。在使用本机代码之前,我会尽力找到一个纯Java解决方案。

除了JNI之外,从Java访问库的另一种方法是


我发现在很多情况下,使用JNI比使用JNI更容易,但这只是我个人的观点。

当我看到“共享库”和“java”lol时,我想说JNI。:-)我100%同意。但在许多情况下,您需要访问需要本机库的硬件。我很难接受这个。不幸的是,我已经花了数周时间寻找解决方案(本机库似乎没有加载,生病了)