国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

xiaoyuhzou1228的個(gè)人空間 http://m.qingdxww.cn/space-uid-139997.html [收藏] [復(fù)制] [RSS]

博客

LKT5103A Hid接口LINUX系統(tǒng)下JNI開發(fā)流程

熱度 9已有 1636 次閱讀2019-10-16 09:30

一、什么是JNI

Java以其跨平臺(tái)的特性深受人們喜愛,而又正由于它的跨平臺(tái)的目的,使得它和本地機(jī)器的各種內(nèi)部聯(lián)系變得很少,約束了它的功能。解決Java對(duì)本地操作的一種方法就是JNI。JNI是Java native interface的簡寫,意為Java本地調(diào)用,它允許Java代碼和其他語言寫的代碼進(jìn)行交互,從Java1.1開始,JNI標(biāo)準(zhǔn)成為Java平臺(tái)的一部分。

     使用Java與本地已編譯的代碼交互,通常會(huì)喪失平臺(tái)可移植性。但是,有些情況下這樣做是可以接受的,甚至是必須的。例如,與硬件、操作系統(tǒng)進(jìn)行交互,或者為了提高程序的性能。

二、平臺(tái)以及環(huán)境

(1)開發(fā)平臺(tái)

Linux系統(tǒng)或者虛擬機(jī)。

注意:因?yàn)樯婕暗?/font>LINUX下的HID接口,所以保證開發(fā)的系統(tǒng)內(nèi)核在2.6版本以上。

(2)開發(fā)包

1):安裝gcc和g++,保證兩個(gè)版本一致。

安裝指令:

yum install gcc

yum install gcc-c++

查版本指令:

g++ --version

gcc --version

2):安裝jdk環(huán)境。具體可以上網(wǎng)上找資料。

debian系統(tǒng)為例,在終端運(yùn)行的安裝指令如下:

sudo apt-get update

sudo apt-get install default-jre

sudo apt-get install default-jdk

三、開發(fā)步驟

1)創(chuàng)建一個(gè)Java程序(如LKT5103AJni.java)定義原生的c/c++函數(shù)。

2)用javac編譯(指令:javac LKT5103AJni.java) LKT5103AJni.java生成 LKT5103AJni.class。

3)用javah帶-jni參數(shù)編譯(指令:javah -jni LKT5103AJni) LKT5103AJni.class生成 LKT5103AJni.h文件,該文件中 定義了c的函數(shù)原型。在實(shí)現(xiàn)c函數(shù)的時(shí)候需要。

4)創(chuàng)建LKT5103AJni.c,實(shí)現(xiàn)LKT5103AJni.h定義的函數(shù)。

5)編譯LKT5103AJni.c生成libLKT5103AJni.so。

指令:gcc -I/usr/lib/jvm/java-8-openjdk-amd64/include/ -I/usr/lib/jvm/java-8-openjdk-amd64/include/linux -fPIC -shared -o libLKT5103AJni.so LKT5103AJni.c

6)創(chuàng)建testJni.Java,實(shí)現(xiàn)測試jni接口。

7)編譯testJni.java(指令:javac testJni.java)。

8)運(yùn)行測試代碼。

(指令:export LD_LIBRARY_PATH=./   

java testJni   

或者:

java -Djava.library.path=. testJni)


路過

雞蛋

鮮花

握手

雷人

發(fā)表評(píng)論 評(píng)論 (19 個(gè)評(píng)論)

回復(fù) miniminimini 2019-10-17 13:38
:JNI主要還是舉例子,舉例子直觀,
回復(fù) zntsbkhhh 2019-10-17 14:33
LKT5103A,好像在網(wǎng)上看見過,具體誰家的產(chǎn)品記不太清了…
回復(fù) ?-о 2019-10-17 15:27
凌科芯安的,我們公司就在用呢,技術(shù)服務(wù)很到位
回復(fù) tyl20100 2019-10-17 17:01
這套開發(fā)流程挺好的 ,說的很詳細(xì),已經(jīng)推薦給我們技術(shù)部門了
回復(fù) 簡單但獅子 2019-10-18 15:39
​插入圖片更形象生動(dòng),每一步都配上初始圖片和結(jié)果圖,會(huì)更受益。
回復(fù) QL87 2019-10-18 22:59
很不錯(cuò)學(xué)習(xí)了,但是為什么要求內(nèi)核是2.6版本以上。低版本也支持HID協(xié)議啊?
回復(fù) xiaoyuhzou1228 2019-10-19 09:02
Linux 2.6內(nèi)核中包含了HID驅(qū)動(dòng),能夠自動(dòng)把USB Key等HID外設(shè)識(shí)別成“/dev/hiddev0”之類的設(shè)備。但是該驅(qū)動(dòng)沒有實(shí)現(xiàn)write接口,因此無法象Windows平臺(tái)那樣使用 ReadFile和WriteFile來讀寫HID設(shè)備,而只能使用ioctl接口。
回復(fù) Test_wf 2019-10-19 11:04
文中的LKT5103A 是樓主新推出的一款產(chǎn)品吧,能簡單介紹一下功能嗎?
回復(fù) wang0327 2019-10-19 18:31
LKT5103A是以32位安全芯片平臺(tái)為基礎(chǔ)的具有目前行業(yè)內(nèi)最高性能最高安全性的軟件加密產(chǎn)品。
回復(fù) miniminimini 2019-10-19 23:27
5103A除了HID接口,還有別的接口嗎
回復(fù) zntsbkhhh 2019-10-19 23:40
應(yīng)該還支持其他的USB接口吧
回復(fù) tyl20100 2019-10-20 03:18
LKT5103A是什么產(chǎn)品,有什么功能?是不是我自己的庫也可以這樣調(diào)用呢?如果可以那就非常有用了
回復(fù) 簡單但獅子 2019-10-20 12:04
為什么要用JNI呢
回復(fù) ?-о 2019-10-20 22:44
因?yàn)橛行┕δ躂AVA無法提供,比如對(duì)掃描儀驅(qū)動(dòng),只能想辦法通過C/C++來操作,然后用JAVA去調(diào)用C.這就需要JNI了. 
回復(fù) QL87 2019-10-21 21:26
這個(gè)是外接到USB接口的設(shè)備嗎?有沒有芯片貼片形式?可以集成到主板上的那種
回復(fù) xiaoyuhzou1228 2019-10-22 09:11
QL87: 這個(gè)是外接到USB接口的設(shè)備嗎?有沒有芯片貼片形式?可以集成到主板上的那種
加密狗里面也都是芯片,只不過加了個(gè)外殼而已
回復(fù) Test_wf 2019-10-22 11:54
使用JNI是因?yàn)長KT5103A是其他語言的嗎,那它支持什么語言?
回復(fù) kessy1 2019-10-22 13:36
文章很實(shí)用,有沒有詳細(xì)的JNI接口說明呀?這些編譯指令都是一樣的嗎? 
回復(fù) wang0327 2019-10-22 18:00
文章很不錯(cuò),學(xué)習(xí)了,謝謝樓主的分享!

facelist

您需要登錄后才可以評(píng)論 登錄 | 立即注冊(cè)

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
返回頂部
主站蜘蛛池模板: 色天天综合色天天碰| 色片免费观看| 亚洲第一成人在线| 香蕉国产成版人视频在线观看| 色视频一区二区三区| 一本毛片| 色综合色狠狠天天综合色| 一级大片视频| 七色永久性tv网站免费看| 人成午夜免费大片在线观看| 欧美日韩中文在线观看| 青青在线观看| 亚洲午夜视频| 色婷婷99综合久久久精品| 夜夜骑夜夜操| 欧美一级网站| 香蕉大成网人站在线| 青青青国产在线| 欧美中文字幕视频| 色美女网站| 色综合合久久天天综合绕视看| 亚洲综合免费| 四虎影视永久免费观看| 亚洲视频在线观看地址| 四虎影视国产精品| 深夜a级毛片免费视频| 亚洲国产综合自在线另类| 亚欧成人一区二区| 色图综合| 欧美日韩在线视频专区免费| 亚洲欧美日韩国产精品网| 日韩在线成人| 午夜精品国产| 亚色一区| 午夜喷水| 欧美一区二区在线| 日韩综合| 日韩在线视频一区| 欧美成人亚洲| 天天色官网| 四虎影视国产884a精品亚洲|