java通过jni怎么调用c

 我来答
歪瑞顾K
推荐于2016-03-12 · TA获得超过2905个赞
知道大有可为答主
回答量:2731
采纳率:33%
帮助的人:2201万
展开全部
只提供思路,自己去摸索,这样才能吧知识转化为自己的

1、编译一个class类 里面定义一个函数,注意要用native关键字,这是 jni入口的标志

比如 public int native jniSum(int a, int b) ;

不需要实现这个函数,像定义接口一样。

2、使用jdk里面的一个工具 exe,叫什么 jnih.exe 忘了。敲命令通过这个class 生成一个同名的 .h 文件 .h 里面会包含包路径的。

3、然后你就可以自己写 C/C++代码,实现 .h里 生成的 jniSum的 C版本的函数了

4,然后将这个C/C++的代码编译生成一个 dll 比如名字叫 LibJniSum.dll

5,在你的 class类里,加入静态引用

static {
System.loadLibrary("LibJniSum") ;//不要 后缀。

}

只要程序找得到你的 dll,就会自动加载dll
然后你就可以直接调用你的 jniSum了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式