当前位置: 首页 > news >正文

资源网站建设多少钱华为云 搭建网站

资源网站建设多少钱,华为云 搭建网站,北京电力交易中心,有必要花钱学视频剪辑吗JNI的两种注册机制#xff1a;静态注册和动态注册. 一、JNI介绍 JNI(Java Native Interface)#xff0c;即Java本地接口#xff0c;JNI是Java调用Native 语言的一种特性。通过JNI可以使得Java与C/C机型交互. 方式#xff1a; 静态注册动态注册#xff1a;需要提供Java中…JNI的两种注册机制静态注册和动态注册. 一、JNI介绍 JNI(Java Native Interface)即Java本地接口JNI是Java调用Native 语言的一种特性。通过JNI可以使得Java与C/C机型交互. 方式 静态注册动态注册需要提供Java中Native方法的方法签名和Native层中对应的实现函数。 二、静态注册 要求C/C层的函数名符合某种特定的要求包含Java中Native方法的目录信息和方法名。 Example Java package cn.com.codingce.ndkpractice;public native String stringFromJNI();C extern C JNIEXPORT jstring JNICALL Java_cn_com_codingce_ndkpractice_MainActivity_stringFromJNI(JNIEnv *env, jobject thiz) {std::string hello Hello from C;//crashTest();return env-NewStringUTF(hello.c_str()); }按照以上规则进行命名在调用到Native的方法时JVM会去查找是否存在对应函数名的函数以此实现静态注册。 三、动态注册 动态注册相对于静态注册优点是不再根据特定路径查找函数的实现带来两个好处 没有了冗杂的函数名适用于大型项目开发。由于不再根据Native函数查找对应的JNI层函数所以首次调用速度比静态注册快。 开发者需要自行提供Java层和C/C层中的映射关系。 一种可行的方法是基于JNI重载JNI_OnLoad()在其中对函数进行动态注册。 Example Java package cn.com.codingce.ndkpractice.utils;public static native void logInit(String logFilePath, String logName, int logfileLevel, int logScreenLevel);C 此步骤涉及到如何获取Java函数。 static JNINativeMethod nativeUtilsMethods[] {{logInit, (Ljava/lang/String;Ljava/lang/String;II)V, (void *) localLogInit},{logJni, (ILjava/lang/String;)V, (void *) logJni},{logClose, ()V, (void *) logClose}, };static void nativeLogUtilsRegisterNatives(JNIEnv *jniEnv) {if (jniEnv nullptr) {return;}jclass clazz nullptr;do {clazz jniEnv-FindClass(cn/com/codingce/ndkpractice/utils/LogUtils);if (clazz nullptr) {diagnosis_assert(!FindClass LogUtils error!);break;}if (jniEnv-RegisterNatives(clazz, nativeUtilsMethods,std::extentdecltype(nativeUtilsMethods)::value) ! 0) {diagnosis_assert(!RegisterNatives error!);break;}} while (false);if (jniEnv-ExceptionCheck() JNI_TRUE) {jniEnv-ExceptionClear();}if (clazz ! nullptr) {jniEnv-DeleteLocalRef(clazz);} }重载JNI_OnLoad函数并在其中调用nativeLogUtilsRegisterNatives函数 JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {JNIEnv *jniEnv{nullptr};if (vm-GetEnv((void **) jniEnv, JNI_VERSION_1_6) ! JNI_OK) {diagnosis_assert(!JNI version error!);return JNI_EVERSION;}nativeLogUtilsRegisterNatives(jniEnv);return JNI_VERSION_1_6; }
http://www.hkea.cn/news/14269912/

相关文章:

  • 河南免费网站建设登陆建设官方网站
  • 网站建设公司 云智互联优化网站首页
  • 为什么网站打不开网站开发安全
  • wordpress mu 搜索seo综合查询工具有什么功能
  • 关于产品网站建设的问题京东联盟如何做查优惠卷的网站
  • 如何提高网站收录数wordpress 后台制作
  • 找网站做任务qq红包网站怎么做可留言功能
  • 设计学校网站模板免费下载购物网站建设合同
  • 网站建设模板 源码 特效网站制作多久
  • 手机网站和网站一体遵义哪里有做网站的
  • 网站开发总体功能设计wordpress注册邮件问题
  • 做教育网站宣传策略十堰做网站排名
  • 手机网站建设 如何获得更好的排名快速建站代理
  • 网站建设过程中的系统结构图wordpress插件买免费
  • 连云港 网站 建设网站建设合同或方案书
  • win7如何做网站服务器用织梦做的手机网站怎么才能和电脑同步
  • 网站备案查询app下载代写简历哪个平台比较好
  • 青岛营销型网站设计公司吉林省建设信息管理平台
  • 多用户自助建站互联网站安全管理服务平台
  • o2o商城网站制作男女做那事是什 网站
  • 国内食品行业网站开发外链吧官网
  • 视频网站建设 知乎做网站需要准备什么条件
  • 网站建设及托管合同网站源码html
  • 湖南网站建设公司 地址磐石网络网站开发概要设计书模板
  • 蛋糕网站内容规划住房和城乡建设部网站统计
  • 网站建设课程ppt模板怎么看kk园区视频
  • 网站建设最高管理权限做自媒体需要关注什么网站
  • 济南品牌网站建设网站流量被黑
  • 湖北营销型网站建设费用那个企业网站是用vue做的
  • 萧山建设局网站首页大连投诉网站