如何调用so文件so文件的方法

 我来答
xiangjuan314
2016-04-10 · TA获得超过3.3万个赞
知道大有可为答主
回答量:2.9万
采纳率:0%
帮助的人:2805万
展开全部
1 、编写java代码
package net.lu;
public class HelloJNI {
static {
System.loadLibrary("HelloJNI");
}
public native static int get();
public native static void set(int i);
public static void main(String[] args) {
HelloJNI test = new HelloJNI();
test.set(10);
System.out.println(test.get());
}
}
2、在HelloJNI.java文件所在目录下编译.java文件。

javac HelloJNI.java

3、生成.h头文件,需要注意的是,要在src目录层生成文件
... src] # javah -jni net.lu.HelloJNI
4、编写.c 文件
#include "net_wangliping_HelloJNI.h"
int i = 0;
JNIEXPORT jint JNICALL Java_net_wangliping_HelloJNI_get(JNIEnv *env, jclass jc)
{
return i;
}
JNIEXPORT void JNICALL Java_net_wangliping_HelloJNI_set(JNIEnv *env, jclass jc, jint j)
{
i = 2*j;
}
5、生成.so文件
[root@turbolinux src]# gcc -I/usr/java/jdk1.5.0_13/include/linux -I/usr/java/jdk1.5.0_13/include -fPIC -shared -o libHelloJNI.so HelloJNI.c
6、eclipse 调用SO文件

最简单的方式,调用 System.out.println(System.getProperty("java.library.path"));
得到/usr/java/jdk1.5.0_13/jre/lib/i386,将SO文件放在该目录下
运行java程序,输出了由C语言函数计算出的结果
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式