URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libjava/] [testsuite/] [libjava.jni/] [martin.c] - Rev 767
Go to most recent revision | Compare with Previous | Blame | View Log
#include <jni.h> #include "martin.h" #include <stdio.h> JNIEXPORT void JNICALL Java_martin_myNative(JNIEnv* env, jobject this, jstring s) { jclass cls; jfieldID fid; jobject obj; jmethodID mid; printf("From C\n"); fflush(stdout); cls = (*env)->FindClass(env, "java/lang/System"); if (cls == 0) { printf("java/lang/System lookup failed\n"); return; } fid = (*env)->GetStaticFieldID(env, cls, "out", "Ljava/io/PrintStream;"); if (fid == 0) { printf("java/lang/System::out lookup failed\n"); return; } obj = (*env)->GetStaticObjectField(env, cls, fid); if (obj == 0) { printf("GetStaticObjectField call failed\n"); return; } cls = (*env)->GetObjectClass(env, obj); if (cls == 0) { printf("GetObjectClass(out) failed\n"); return; } mid = (*env)->GetMethodID(env, cls, "println", "(Ljava/lang/String;)V"); if (mid == 0) { printf("println method lookup failed\n"); return; } (*env)->CallVoidMethod(env, obj, mid, s); }
Go to most recent revision | Compare with Previous | Blame | View Log