摘要: 1、String在C端的转换方式一 1)从 Java 到 JNI 到 C/C++,编码的转换过程 Java内部使用的是utf-16 16bit 的编码方式 JNI里面使用的是utf-8 unicode编码方式,英文是1个字节,中文3个字节 C/C++使用的是ascii编码,中文的编码方式 GB231 阅读全文
posted @ 2025-01-13 17:43 Plus301 阅读(111) 评论(0) 推荐(0)
摘要: 一、JNI 访问Java中的构造方法 JNIEXPORT jobject JNICALL Java_JniMain_accessConstructor(JNIEnv * env, jobject jobj) { //1.通过类的路径来从JVM里面找到对应的类 jclass jclz = (*env) 阅读全文
posted @ 2025-01-13 17:26 Plus301 阅读(236) 评论(0) 推荐(0)
摘要: 如果你想要在C或C++中创建一个Java对象,你需要使用JNIEnv提供的方法。 1、NewObject 方法 这个方法需要三个参数:一个类引用(jclass),一个构造函数Id(jmethodID),以及构造函数需要的参数。 // 1. 获取Person对应的jlcass对象 jclass per 阅读全文
posted @ 2025-01-13 16:08 Plus301 阅读(141) 评论(0) 推荐(0)
摘要: 一、JNI 中普通方法和静态方法的本地实现有什么区别? 1、JNI 定义native普通方法和静态方法 1 public class MyJniClass { 2 // native 普通方法 3 public native void NormalNativeMethod(); 4 5 // nat 阅读全文
posted @ 2025-01-13 14:21 Plus301 阅读(52) 评论(0) 推荐(0)
摘要: 在 JNI 中,获取 jclass 对象的方法主要有以下几种: 1、使用 FindClass 这是最常用的方法,通过类的全限定名来查找对应的jclass对象。 jclass clazz = env->FindClass("java/lang/String"); 2、使用 GetObjectClass 阅读全文
posted @ 2025-01-13 11:30 Plus301 阅读(111) 评论(0) 推荐(0)