I am trying to create a shared library(so with header and lib files) of a java code using graalvm.
There will be one java method with 2 parameters of type String which I will call from Java
My NativeNativeImpl java method analysis with annotation CEntryPoint looks like this:
@CEntryPoint(name = "Java_net_luculent_liems_license_apinative_Native_analysis")
public static CCharPointer analysis(Pointer jniEnv, Pointer clazz,
@CEntryPoint.IsolateThreadContext long isolateId, CCharPointer dataCharStr) {
//logic code
}
My Native java code to call analysis looks like this :
//declare native method
private static native String analysis(long isolateThread, CCharPointer dataDomStr);
public static String analysisDataDom() {
System.loadLibrary("nativeimpl");
long isolateThread = createIsolate();
String helloStr = "Hello from Java";
//how to convert helloStr to CCharPointer type ???
return analysis(isolateThread, helloStr);
}
My question likes comment: how to post java String value to CCharPointer for native method?
Thanks for all answers!
question from:
https://stackoverflow.com/questions/65857256/how-to-post-java-string-to-java-entrypoint-method-with-ccharpointer-type-using-g 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…