美文网首页
JNI对函数返回值和参数的编码

JNI对函数返回值和参数的编码

作者: 梁佳凝 | 来源:发表于2022-04-06 12:50 被阅读0次

    JNI方法描述符,主要就是在括号里放置参数,在括号后面放置返回类型,当一个函数不需要返回参数类型时,就使用”V”来表示。

    Ljava/lang/String;"就是表示类型String;

    [I"就是表示int[];

    "[Ljava/lang/Object;"就是表示Object[]。

    "()Ljava/lang/String;"就是表示String f();

    "(ILjava/lang/Class;)J"就是表示long f(int i, Class c);

    "([B)V"就是表示void String(byte[] bytes);

    Java 类型   符号

    Boolean     Z

    Byte           B

    Char          C

    Short          S

    Int                I

    Long          J

    Float          F

    Double       D

    Void             V

    objects对象,以"L"开头,以";"结尾,中间是用"/" 隔开的包及类名。比如:Ljava/lang/String;如果是嵌套类,则用$来表示嵌套。例如 "(Ljava/lang/String;Landroid/os/FileUtils$FileStatus;)Z"

    另外数组类型的简写,则用"["加上如表A所示的对应类型的简写形式进行表示就可以了,比如:[I 表示 int [];[L/java/lang/objects;表示Objects[],另外。引用类型(除基本类型的数组外)的标示最后都有个";"

    例如:

    "()V" 就表示void Func();

    "(II)V" 表示 void Func(int, int);

    "(Ljava/lang/String;Ljava/lang/String;)I".表示 int Func(String,String)

    https://www.cnblogs.com/hoys/archive/2011/09/30/2196290.html

    相关文章

      网友评论

          本文标题:JNI对函数返回值和参数的编码

          本文链接:https://www.haomeiwen.com/subject/mqprsrtx.html