JNI接口设计

本文介绍了如何在Java中使用JNI调用C/C++代码,包括本地方法头文件的生成步骤,重点讲解了在Eclipse中通过javah命令一键生成头文件的方法。读者将学会如何声明和调用native方法,以及如何加载本地库。
摘要由CSDN通过智能技术生成

 

JNI为我们提供了java<---->C/C++之间的接口,使得我们可以在java中调用C程序,以便实现一些计算复杂度较高的程序(如图像处理、信号处理等)。另外,也方便我们使用很多优秀的C库。

今天主要来说一下JNI的本地方法头文件如何生成,以及怎么方便地在eclipse中一键生成。当你使用JNI时,需要在你的java程序中声明一个类,并且用native关键字来表明该类中的方法是使用本地方法(一般是C/C++)实现的。比如下面给出了一个简单的例子:

package com.jni.test;

public class Example {

 public native String jni_test();
 
 static {
  System.loadLibrary("Example");
 }
}

这里定义了一个本地方法jni_test,该方法返回一个String。其中System.loadLibrary是用来加载本地库的(dll或者so)。

有了这个类以后,就可以调用javac命令编译,得到Example.class文件,然后就可以使用编译好的.class文件生成文件了。

在java中,提供了javah这个命令来生成本地方法的头文件。使用命令如下:

javah -classpath A -d B -jni C

其中,A是你的.class文件的路径,这样java就可以搜索到这个.class文件。B是将要生成的头文件的存放目录,可以根据需要指定。C是java类名,在这个例子中就是com.jni.test.Example。然后就可以在B目录下看到生成的头文件了。

 

参考:java 使用jni,c文件中的接口

参考:JAVA调用DLL 超详细代码实战

参考:Java通过JNI调用VC的DLL总结

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

落花逐流水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值