首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

使用jni接口,调用本地c方法

2012-10-31 
运用jni接口,调用本地c方法[size-large]方法步骤:1.在java类中声明一个本地方法。2.运行javah以获取包含该

运用jni接口,调用本地c方法
[size=-large]
方法步骤:
1.在java类中声明一个本地方法。
2.运行javah以获取包含该方法的c声明的头文件
3.用c实现该方法
4.将代码置于共享类库中。
5.在java程序中加载该库

详细实例:
系统:ubuntu 11.04/64bit
1.注意native关键字


这个要真的去手写,出错的几率很大。

4.接下来就是函数的实现了,这个要自己动手编写
HelloNative.c
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1734)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1028)
at HelloWorldTest.<clinit>(HelloWorldTest.java:7)
Could not find the main class: HelloWorldTest.  Program will exit.
主要是这个错误引起:java.lang.UnsatisfiedLinkError: no HelloNative in java.library.path,意思是找不到load的动态链接库,这是一定,系统默认就是那几个指定的lib文件夹下,自己写的就要加进去才能被jvm找到,可以在运行的时候指定当前目录作为动态库位置进行加载
java -Djava.library.path=. HelloWorldTest
这样就正常了。
输出: Hello Native World!

恩,java已经很完没了,不是在然和时候jni都适合。

下面是我练习时的源码,有兴趣一起研究。


[/size][/size]

热点排行