irus
#include <jvmti.h> #include <stdio.h> JNIEXPORT jint JNICALL Agent_OnLoad(JavaVM* vm, char* options, void* reserved) { return 0; }
// SIGSEGV @CName("Agent_OnLoad") fun Agent_OnLoad( vm: CValuesRef<JavaVMVar>?, options: CValuesRef<ByteVar>?, reserved: CValuesRef<*>? :disappointed: jint { println("Agent: Hello, World!") return 0 } // ok @CName("Agent_OnLoad") fun Agent_OnLoad( vm: NativePtr, options: NativePtr, reserved: NativePtr :disappointed: jint { println("Agent: Hello, World!") return 0 }
napperley
olonho
CPointer<JavaVMVar>
cinterop
CValuesRef<JavaVMVar>?
CPointer
CValuesRef
A modern programming language that makes developers happier.