JNI——java native interface

使用参考

一。JNI概述
	JNI, 全称Java Native Interface
	它是Java语言(Java本地方法接口),允许Java代码与CC++代码交互的标准机制


二。JNI优点
	JNI的优点:
	  (1)JNI使得一些"过程"无需在Java中实现。例如,硬件敏感的,或者直接与操作系统API关联的命令。
	
	  (2)由于使用底层的库,如图形,计算,各种类型的渲染等等,可以提高应用的运行性能。
	
	  (3)已经有大量的库已经被实现,编程者可直接使用,不用再自行编写。
	  这里的库指的是用其他编程语言实现的程序库,例如IO流或者线程等底层与OS交互的操作都是由C/C++实现的。


三。JNI使用步骤
	1.正常创建一个ScdService.java类,类声明一个本地方法,如下
		private native void generateSSDResult(String infoDir);
	
	2.生成.h头文件给C++(C++利用这个头文件写具体的实现dll文件)
		生成方法:CMD命令:javah -classpath D:\idea\project\yongfu\substationserver\src\main\java com.jw.mva.service.scd.SCDService
		生成地址:和/target.com.jw.mav.service.scd.ScdService.class目录
		
	3.c++再给我们scdjni.dll文件(里面是generateSSDResult方法的具体实现),复制dll文件到本地的某个文件夹,
		系统环境变量添加这个文件夹
	
	4.ScdService类加载dll库,加载方法如下
		 static {
       		System.loadLibrary("scdjni");  //环境变量指向的文件夹有scdjni.dll文件
   		 }
	
	5.测试,java调用generateSSDResult()方法就能实现C++写的方法

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

飘然生

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

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

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

打赏作者

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

抵扣说明:

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

余额充值