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

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

博客

LKT5103A Hid接口LINUX系統下JNI開發流程

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

一、什么是JNI

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

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

二、平臺以及環境

(1)開發平臺

Linux系統或者虛擬機。

注意:因為涉及到LINUX下的HID接口,所以保證開發的系統內核在2.6版本以上。

(2)開發包

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

安裝指令:

yum install gcc

yum install gcc-c++

查版本指令:

g++ --version

gcc --version

2):安裝jdk環境。具體可以上網上找資料。

debian系統為例,在終端運行的安裝指令如下:

sudo apt-get update

sudo apt-get install default-jre

sudo apt-get install default-jdk

三、開發步驟

1)創建一個Java程序(如LKT5103AJni.java)定義原生的c/c++函數。

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

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

4)創建LKT5103AJni.c,實現LKT5103AJni.h定義的函數。

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)創建testJni.Java,實現測試jni接口。

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

8)運行測試代碼。

(指令:export LD_LIBRARY_PATH=./   

java testJni   

或者:

java -Djava.library.path=. testJni)


路過

雞蛋

鮮花

握手

雷人

發表評論 評論 (19 個評論)

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

facelist

您需要登錄后才可以評論 登錄 | 立即注冊

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
返回頂部
主站蜘蛛池模板: 99热99re8国产在线播放 | 亚洲高清在线观看视频 | 免费视频91| 四虎永久在线精品884aa下载 | 一级毛片在线免费视频 | 国产中文欧美 | 亚洲高清视频在线 | 蜜桃tv在线观看 | 乱中年女人伦中文字幕久久 | 91免视频 | 国产韩国精品一区二区三区久久 | 狠狠色狠狠色很很综合很久久 | 爽爽日本在线视频免费 | 精品欧美日韩一区二区三区 | 国产视频999 | 香蕉网在线视频 | 99国产精品免费视频观看 | 国产xxwwxxww视频 | 亚洲一区欧美日韩 | 99久久99久久精品免费看子伦 | 日韩中文字幕在线亚洲一区 | 中国国产一国产一级毛片视频 | 草久在线观看视频 | 天使萌一区二区三区免费观看 | 国产一级视频在线 | 亚洲一区二区三区免费 | 绿巨人香蕉草莓丝瓜茄子番茄在线 | 99国产精品农村一级毛片 | 国产自产第一区c国产 | 日本视频一区二区三区 | 偷偷鲁国内视频视频在线 | 国产在线一区二区三区在线 | 国产精品v欧美精品v日韩精品 | 亚洲一区二区免费在线观看 | 2019国产精品视频 | 91视频最新网址 | 日韩黄色一级大片 | 国产理论在线 | 香蕉视频国产精品 | 久草资源在线 | 麻豆国产高清精品国在线 |