fieldaccess.c

来自「初期JAVA学习非常有用的资料。帮助深入了解API。特别是Applet。」· C语言 代码 · 共 37 行

C
37
字号
#include <stdio.h>#include <jni.h>#include "FieldAccess.h"JNIEXPORT void JNICALL Java_FieldAccess_accessFields(JNIEnv *env, jobject obj){  jclass cls = (*env)->GetObjectClass(env, obj);  jfieldID fid;  jstring jstr;  const char *str;  jint si;  printf("In C:\n");  fid = (*env)->GetStaticFieldID(env, cls, "si", "I");  if (fid == 0) {    return;  }  si = (*env)->GetStaticIntField(env, cls, fid);  printf("  FieldAccess.si = %d\n", si);  (*env)->SetStaticIntField(env, cls, fid, 200);    fid = (*env)->GetFieldID(env, cls, "s", "Ljava/lang/String;");  if (fid == 0) {    return;  }  jstr = (*env)->GetObjectField(env, obj, fid);  str = (*env)->GetStringUTFChars(env, jstr, 0);  printf("  c.s = \"%s\"\n", str);  (*env)->ReleaseStringUTFChars(env, jstr, str);  jstr = (*env)->NewStringUTF(env, "123");  (*env)->SetObjectField(env, obj, fid, jstr);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?