zoukankan      html  css  js  c++  java
  • JNI_Z_02_函数参数_JNIEnv*_jclass_jobject

    1、

      1.1、JNIEXPORT void JNICALL Java_包名_类名_函数名01(JNIEnv * env, jclass clazz)  // Java代码中的 静态函数

      1.2、JNIEXPORT void JNICALL Java_包名_类名_函数名02(JNIEnv * env, jobject obj)  // Java代码中的 非静态函数

    2、参数解释:

    2.1、参数中的 JNIEnv* env参数的解释:

      JNIEnv类型实际上代表了Java环境,通过这个JNIEnv* 指针,就可以对Java端的代码进行操作。例如,创建Jaa类中的对象,调用Java对象的方法,获取Java对象中的属性等等。

      JNIEnv的指针会被JNI传入到本地方法的实现函数中来对Java端的代码进行操作。

      JNIEnv类中有很多函数可以用:
        NewObject:创建Java类中的对象
        NewString:创建Java类中的String对象
        New<Type>Array:创建类型为Type的数组对象
        Get<Type>Field:获取类型为Type的字段
        Set<Type>Field:设置类型为Type的字段的值
        GetStatic<Type>Field:获取类型为Type的static的字段
        SetStatic<Type>Field:设置类型为Type的static的字段的值
        Call<Type>Method:调用返回类型为Type的方法
        CallStatic<Type>Method:调用返回值类型为Type的static方法
       等许多的函数,具体的可以查看jni.h文件中的函数名称。

    2.2、参数 : jobject obj的解释:

      2.2.1、如果native方法是static的话,这个obj就代表这个native方法的类的class对象实例(static方法不需要类实例的,所以就代表这个类的class对象)

        ZC: 即 函数参数中的"jclass clazz"

      2.2.2、如果native方法不是static的话,这个obj就代表这个native方法的类实例

        ZC: 即 函数参数中的"jobject obj"

    3、

  • 相关阅读:
    delphi 使用条件编译指令
    [转] 编程之道 二
    delphi中XLSReadWrite控件的使用(1)简介
    delphi中XLSReadWrite控件的使用(2)delphi XE下安装
    墙纸自动换1.4算法分析
    Delphi中设置屏幕分辨率
    delphistringgrid另类自动向下滚屏
    【Hex 格式文件操作】一、intel hex格式文件说明
    INTEL hex文件格式
    [转]编程之道 一
  • 原文地址:https://www.cnblogs.com/javaskill/p/5421111.html
Copyright © 2011-2022 走看看