buildJavaVMInitArgs
context(placement: NativePlacement)
inline fun buildJavaVMInitArgs(version: JniVersion, optionsCount: Int, ignoreUnrecognized: Boolean = false, block: JavaVMInitArgsBuilder.() -> Unit): JavaVMInitArgs(source)
inline fun buildJavaVMInitArgs(version: JniVersion, optionsCount: Int, ignoreUnrecognized: Boolean = false, block: JavaVMInitArgsBuilder.() -> Unit): JavaVMInitArgs(source)
Allocates and initializes JavaVMInitArgs.
Instead of writing
val options = allocArray<JavaVMOption>(4)
var i = 0
options[i++].option = "-Djava.compiler=NONE" // disable JIT
options[i++].option = "-Djava.class.path=C:\\myclasses" // user classes
options[i++].option = "-Djava.library.path=C:\\mylibs" // set native library path
options[i++].option = "-verbose:jni" // print JNI-related messages
val args = alloc<JavaVMInitArgsStruct>()
args.version = JNI.v21
args.ignoreUnrecognized = false.toJBoolean()
args.nOptions = i
args.options = optionsContent copied to clipboard
You may write
val args = buildJavaVMInitArgs(JNI.v21, 4) {
option("-Djava.compiler=NONE") // disable JIT
option("-Djava.class.path=C:\\myclasses") // user classes
option("-Djava.library.path=C:\\mylibs") // set native library path
option("-verbose:jni") // print JNI-related messages
}Content copied to clipboard
Which will be inlined in the code above.
Parameters
count
size of an array to allocate
block
array initializer block