Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.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平台上调用.so文件吗?_Java_Linux_Api - Fatal编程技术网

JAVA可以在linux平台上调用.so文件吗?

JAVA可以在linux平台上调用.so文件吗?,java,linux,api,Java,Linux,Api,我想调用JAVA项目中“.so”文件提供的API。JAVA可以在linux平台上调用.so文件吗?谁能提供解决方案?多谢各位 是的,通过 JAVA可以在linux平台上调用.so文件吗 有两种方法可以做到这一点: 允许您在Java中将方法声明为native,然后用其他语言(通常是C或C++)实现,并将它们作为“.so”文件提供。但是,您不能对任何旧的“.so”文件执行此操作,因为Java希望“.so”中的方法具有特定于JNI的签名 允许您在任意本机库中调用方法。您编写的Java代码提供“本机库

我想调用JAVA项目中“.so”文件提供的API。JAVA可以在linux平台上调用.so文件吗?谁能提供解决方案?多谢各位

是的,通过

JAVA可以在linux平台上调用.so文件吗

有两种方法可以做到这一点:

  • 允许您在Java中将方法声明为
    native
    ,然后用其他语言(通常是C或C++)实现,并将它们作为“.so”文件提供。但是,您不能对任何旧的“.so”文件执行此操作,因为Java希望“.so”中的方法具有特定于JNI的签名

  • 允许您在任意本机库中调用方法。您编写的Java代码提供“本机库声明”以匹配本机方法的签名,JNA基础设施处理数据类型映射等