Linux 环境下java 调用SO
来源:互联网 发布:立林jb2000ii编程 编辑:程序博客网 时间:2024/06/05 05:21
这几天一直在弄linux环境下java调用so文件的问题,网上例子也很多,不过有些细节写的不是很全面,导致我需要参考多方面的实例才能得出结果,现在整理个完整细节版
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语言函数计算出的结果
- Linux 环境下java 调用SO
- Linux下Java调用so文件
- Linux下调用so库
- linux下qt调用.so
- linux下java jni调用.so文件的方法
- linux 环境下java调用matlab小结
- Linux环境下 lua 调用自定义so动态库(skynet)
- Ubuntu环境下使用Unity3D调用C++编写的Linux so动态链接库
- Linux环境下 lua 调用自定义so动态库(skynet)
- Linux下JNA 调用 so 库
- linux下编写调用so文件学习
- LINUX 下 JNA 调用 so--正确版
- Linux下JNA 调用 so 库
- Linux下JNA 调用 so 库
- linux下生成so库及调用
- linux下编写调用so文件学习
- linux平台java调用so动态库
- Java Web中调用.so Linux库
- 如何掌握关键词排名规律
- linux编译,解决类似于undefined reference to `*'
- 利用规则引擎打造轻量级的面向服务编程模式
- Django学习笔记(二)
- 大学
- Linux 环境下java 调用SO
- CF 327C 逆元
- cstring转为char*
- c++应用程序文件的编译过程
- OpenGL学习第一课---------VS2010中配置开发OpenGL 环境
- DEDE(织梦)插件开发案例(一)
- 对互联网海量数据实时计算的理解
- 一级缓存
- oracle体系结构(三)