落花踏尽游何处,笑入胡姬酒肆中。这篇文章主要讲述Android JNI之数据类型相关的知识,希望能为你提供帮助。
【Android JNI之数据类型】JNI中数据类型的意义在于桥接java数据类型与C数据类型。
简单数据类型:
Java Type | Native Type | Description |
---|---|---|
boolean | jboolean | unsigned 8 bits |
byte | jbyte | signed 8 bits |
char | jchar | unsigned 16 bits |
short | jshort | signed 16 bits |
int | jint | signed 32 bits |
long | jlong | signed 64 bits |
float | jfloat | 32 bits |
double | jdouble | 64 bits |
void | void | N/A |
引用类型:
文章图片
特征类型(Signatures):
看到Signatures是不是有点眼熟,在我的Android JNI之静态注册中一带而过的javah自动生成头文件,注意看javah不仅完成了方法名的转换,而且在方法注释中标注了该方法的Signature,下面说一下这个对应关系。
Type Signature | Java Type |
---|---|
Z | boolean |
B | byte |
C | char |
S | short |
I | int |
J | long |
F | float |
D | double |
L fully-qualified-class ; | fully-qualified-class |
[ type | type[] |
( arg-types ) ret-type | method type |
举个例子,对于Java方法
long f (int n, String s, int[] arr);
其对应的特征值就是(ILjava/lang/String; [I)J
PS:这个特征值在动态注册的时候很重要,这关系到你在Java类中声明的native方法能否正确找到对应的native方法
推荐阅读
- Cookie客户端缓存.Session.Application
- android studio 添加有趣的注释模板 佛祖保佑无bug等
- 本文教你电脑蓝屏代码0x0000008e
- office 2010 密钥下载
- 本文教你处理internet explorer 停止 activex控件
- 本文教你电脑总是死机该怎样办
- 本文教你如何处理电脑屏幕闪烁
- 本文教你电脑扬声器没声音怎样办
- 本文教你电脑网络打印机怎样设置