JNI学习
来源:互联网 发布:oa系统 java php 编辑:程序博客网 时间:2024/05/29 07:55
1、JNI概述
JNI机制。
Java Native Interface 的缩写,实现了Java调用其他语言(如C/C++)的功能。
通过这种技术可以:
1)Java调用Native语言(C/C++)的函数
2)Native程序(C/C++)的函数可以调用Java层的函数
2、JNI的语法规则
1)将Java语言的数据类型转换成C/C++语言函数或方法。
实际表示的 C 类型
(Win32)
2)将Java语言的方法调用,转换为调用底层语言函数或方法。
函数签名。
具体的对应关系见下面两张图:
数组则以”["开始,用两个字符表示
2)函数对应关系的前面
项目说明Java函数格式返回值 func(参数1,参数2,参数3)函数签名格式(参数1参数2参数3)返回值注意1、函数名,在JNI中没有体现出来2、参数列表相互挨着,中间没有逗号,没有空格,返回值后面没有分号
3、返回值出现在()后面
4、如果参数是引用类型,那么参数应该为:
1、boolean isLenOn(void)
()Z
2、void setLedOn(int lenNo)
(I)
3、String substr(String str, int idx, int count);
(Ljava/lang/String;II)Ljava/lang/String
3、JNI的实现步骤
Java代码加载JNI的库
1)如果Java要调用native函数,就必须通过一个位于JNI层的动态库来实现。
2)通常的做法是在类的static语句中加载,调用System.loadlibrary的方法加载动态库。
3)Native函数需要在Java中用关键字native的形式声明
注册JNI函数签名
1)静态注册
2)动态注册
- 学习JNI
- jni学习
- 学习JNI
- jni学习
- JNI学习
- JNI学习
- jni学习
- JNI学习
- jni学习
- JNI学习
- JNI学习
- 学习JNI
- jni学习
- JNI学习
- JNI学习
- JNI学习
- JNI学习
- jni 学习
- grep与正则表达式
- 统计相关系数(1)——Pearson(皮尔逊)相关系数及MATLAB实现
- 防火墙规则修改
- NoSQL之Redis常用命令--键值相关命令
- 马云的领导力是怎样炼成的?
- JNI学习
- 一个同步日志系统的简单实现 log for c (linux 平台)
- PHP开发-从零开始(附网站开发效果图)
- 二叉树遍历(递归和非递归)
- 有关javaBean的简单内省操作
- 《一个程序员的奋斗史》书摘(一)
- android软键盘的各种操作
- 数组中只出现1次的两个数字(百度面试题)
- java基础(二)------学习system类的几点收获(二)