jni类型

作者: zuolingfeng | 来源:发表于2015-08-06 21:57 被阅读248次

    具体的每一个字符的对应关系如下
    java代码:

    字符 Java类型 C类型
    V void void
    Z jboolean boolean
    I jint int
    J jlong long
    D jdouble double
    F jfloat float
    B jbyte byte
    C jchar char
    S jshort short
    

    数组则以"["开始,用两个字符表示
    java代码:

    [I jintArray int[]
    [F jfloatArray float[]
    [B jbyteArray byte[]
    [C jcharArray char[]
    [S jshortArray short[]
    [D jdoubleArray double[]
    [J jlongArray long[]
    [Z jbooleanArray boolean[]
    

    上面的都是基本类型。如果Java函数的参数是class,则以"L"开头,以";"结尾,中间是用"/" 隔开的包及类名。而其对应的C函数名的参数则为jobject. 一个例外是String类,其对应的类为jstring

    Ljava/lang/String; String jstring
    Ljava/net/Socket; Socket jobject
    

    如果JAVA函数位于一个嵌入类,则用$作为类名间的分隔符。例如 (Ljava/lang/String;Landroid/os/FileUtils$FileStatus;)Z

    相关文章

      网友评论

          本文标题:jni类型

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