java jni 签名_JNI方法命名和方法签名

JNI的方法命名规则

对于初学者来说,JNI开发,生成的JNI方法,都是通过调用javah命令来生成的。

但是写的多了,可以发现其实也是有规律可寻的。

下面就简单说下JNI的方法命名规则;

1.前缀: Java_

2.类的全限定名,用下划线进行分隔(_):com_lms_jni_JniTest

3.方法名:getTestString

比如java的一个在com.my.example包里的一个MyTest类里的一个getHelloWorld()方法

那么他对应的jni方法名是:

Java_com_my_example_MyTest_getHelloWorld

JNI的方法签名

首先列出java数据类型与签名类型的对应关系:

Java类型         类型签名

boolean           Z

byte                B

int                  I

char               C

short              S

long               L

float              F

double           D

void              V

数组              [类型签名,比如int[] 是[I

类                 L全限定名;,比如String, 其签名为Ljava/lang/String;(注意后面有个分号)

对一个方法,其签名就是其参数类型签名和返回值类型签名的字符串,举例个例子,一目了然。

方法例子1:

public void example1(int string, double index)

对应签名:

(ID)V

方法例子2:

public string example2(String string, int index)

对应签名:

(Ljava/util/String;I)Ljava/util/String;

方法例子3:

public int example3(int index, String value,int[] arr)

对应签名:

(ILjava/util/String;[I)I

看了上面的3个例子,应该就都清楚了吧。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值