• 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个例子,应该就都清楚了吧。

  • 相关阅读:
    第十三周课程总结
    第十二周课程总结
    第十一周课程总结
    第十周课程总结
    第九周课程总结&实验报告(七)
    第八周课程总结&实验报告(六)
    第七周课程总结&实验报告(五)
    第六周学习总结&java实验报告四
    2019秋Java学期课程总结
    2019Java第十四周课程总结
  • 原文地址:https://www.cnblogs.com/bokezhilu/p/7679527.html
Copyright © 2020-2023  润新知