Hello.
I'm not sure if there's a minor typo but I cannot find the error in it. Can
you guys look? In System.c we have:
JNIEXPORT void JNICALL
Java_java_lang_System_setMemoryAllocationListener0(JNIEnv *env, jclass cla,
jobject listener)
{
jfieldID fid =
(*env)->GetStaticFieldID(env,cla,"memoryAllocationListener","Ljava/lang/memory/MemoryAllocationListener;");
if (fid == 0)
return;
(*env)->SetStaticObjectField(env,cla,fid,listener);
}
-- -- -- -- --
And in System.java we have:
public static final MemoryAllocationListener memoryAllocationListener =
null;
...
public static void setMemoryAllocationListener(MemoryAllocationListener
memoryAllocationListener) {
checkMalloc();
setMemoryAllocationListener0(memoryAllocationListener);
}
...
//SecureJVM private
private static native void
setMemoryAllocationListener0(MemoryAllocationListener memoryAllocationListener);
-- -- -- -- --
We get the following after running a trivial Java program:
Exception in thread "main" java.lang.UnsatisfiedLinkError:
java.lang.System.setMemoryAllocationListener0(Ljava/lang/memory/MemoryAllocationListener;)V
at java.base/java.lang.System.setMemoryAllocationListener0(Native Method)
at java.base/java.lang.System.setMemoryAllocationListener(System.java:261)
at Hope.<init>(Hope.java:19)
at Hope.main(Hope.java:11)
-- --
Can we skip right to it? What is the issue here?
Thanks.
Max R.