JNI中数据类型的意义在于桥接Java数据类型与C数据类型。简单数据类型:Java Typebooleanbytecharshortintlongfloatdoublevoid
Native Typejbooleanjbytejcharjshortjintjlongjfloatjdoublevoid
Descriptionunsigned 8 bitssigned 8 bitsunsigned 16 bitssigned 16 bitssigned 32 bitssigned bits32 bits bitsN/A
引⽤类型:
特征类型(Signatures):
看到Signatures是不是有点眼熟,在我的中⼀带⽽过的javah⾃动⽣成头⽂件,注意看javah不仅完成了⽅法名的转换,⽽且在⽅法注释中标注了该⽅法的Signature,下⾯说⼀下这个对应关系。
Type SignatureZBCSIJFD
Java Typebooleanbytecharshortintlongfloatdouble
举个例⼦,对于Java⽅法
L fully-qualified-class ;fully-qualified-class[ type
( arg-types ) ret-type
type[]method type
long f (int n, String s, int[] arr);
其对应的特征值就是(ILjava/lang/String;[I)J
PS:这个特征值在动态注册的时候很重要,这关系到你在Java类中声明的native⽅法能否正确找到对应的native⽅法
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- dfix.cn 版权所有 湘ICP备2024080961号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务