美文网首页
jni获取函数名

jni获取函数名

作者: Sanvar | 来源:发表于2018-02-12 14:33 被阅读0次

封装一下获取的函数名

///声明
jmethodID GetMethodID_(int line,
                       JNIEnv* jni,
                       jclass c,
                       const char* name,
                       const char* signature);

///获取函数名 ,传入行数,JNIEnv ,jclass ,函数名,函数签名.
jmethodID GetMethodID_(int line,JNIEnv* jni, jclass c,
                      const char* name,const char* signature) {
 // jni 调用GetMethodID 获取函数名
  jmethodID m = jni->GetMethodID(c, name, signature);
 // 主要是检查是否有异常.
  CHECK_EXCEPTION(jni) << "error during GetMethodID: " << name << ", "
                       << signature << " line: " << line;
  CHECK(m) << name << ", " << signature << " line: " << line;
  return m;
}

///获取静态方法名 传入行数,JNIEnv ,jclass ,函数名,函数签名.
jmethodID GetStaticMethodID_(int line,
                             JNIEnv* jni,
                             jclass c,
                             const char* name,
                             const char* signature) {
  jmethodID m = jni->GetStaticMethodID(c, name, signature);
  CHECK_EXCEPTION(jni) << "error during GetStaticMethodID: " << name << ", "
                       << signature << " line: " << line;
  CHECK(m) << name << ", " << signature << " line: " << line;
  return m;
}

///获取方法名 (最终使用这个函数)
#define _GET_METHOD_ID(_jni_, _c_, _name_, _signature_) \
  GetMethodID_(__LINE__, _jni_, _c_, _name_, _signature_)
  • 使用方式
 jmethodID methodID =
      _GET_METHOD_ID(env, jnicb.jcbCls, "OnRobotGetMultiDataRsp","(JLjava/lang/Object;)V");

相关文章

  • jni获取函数名

    封装一下获取的函数名 使用方式

  • Cocos2dx-lua项目中集成微信支付和微信登录遇到的坑!!

    1,写c++调用方法 通过JNI获取java虚拟机,再获取当前程序的JNI环境,通过JNI环境获取需要调用的jav...

  • PHP函数

    function functionName() { Code } 函数名不区分大小写 函数名不能以数字开头 函...

  • Swift散记4 函数

    func <#name#> (参数名:参数类型 , 参数名:参数类型) - > 返回值{函数内容return} 函...

  • 菜鸡学Swift3.0 10.函数

    1. 函数的定义 func 函数名(参数)-> 返回值类型 { 函数体 } 函数名( 参数名:参数值 ) 2. 函...

  • android的JNI方法汇总

    JNI的基本类型 在JNI中有一些基本类型,这些基本类型只能在JNI层使用 由于下面的函数名都会包含这些基本属性,...

  • JNI方法数组和引用

    JNI方法 步骤:1.获取jclass2.获取方法ID;jmethodID3.jni调用java的方法 数组 步骤...

  • 2016.11.22 JS

    函数 函数:function foo函数名(函数的自变量){ }; 调用函数:foo();函数名加上括号就是调用函...

  • Python - 2017/01/28-函数

    调用python内置函数 函数名(参数) 即可调用python内置函数 help(函数名) 返回python对于函...

  • python学习笔记 - (2)函数

    定义函数格式:def 函数名(参数):代码1代码2... 调用函数格式:函数名(参数) /// python中,函...

网友评论

      本文标题:jni获取函数名

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