JNI简单实例

1。建立一个java类,比如HelloWorld.java
   代码如下:

2。编译上面的HelloWorld.java,命令为javac HelloWorld,生成.class文件
3。用javah HelloWorld命令把.class文件生成出.h文件。
.h文件的内容大致如下:

4。写一个HelloWorld.c文件,文件名和内容如下。

5。现在已经差不多拉,开始把文件生成为.so库文件。
命令:gcc -I /usr/lib/jvm/java-6-openjdk/include -I /usr/lib/jvm/java-6-openjdk/include/linux -fPIC -shared -o libhello.so HelloWorld.c


解释一下:这个java-6-openjdk也可以是java-6-sun,看你装什么版本了。
并且一定要注意.so的库名为libhello.so,不是hello.so。

(可能编译的时候出错误说:找不到stdio.h文件,那说明你没有装好软件包,用下面的命令
  sudo apt-get install build-essential)

6。下面我是这样做的,把hello.so扔进 usr/lib库文件目录下。
   因为如果程序要调用库,它会自动搜索这个目录。
   命令:sudo mv libhello.so /usr/lib

7。编译运行, 命令java HelloWorld
  “Hello World”
    成功!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值