gpt4 book ai didi

java - JNI : EnsureLocalCapacity ignored

转载 作者:行者123 更新时间:2023-11-30 17:44:40 26 4
gpt4 key购买 nike

我从一开始就在每个 native 方法调用中调用 EnsureLocalCapacity():

void ensureMemory(JNIEnv *env) {
jint ensureResult = env->EnsureLocalCapacity(MAX_LOCALS_COUNT);
debug("ensure result for %i is %i", MAX_LOCALS_COUNT, ensureResult);

ensure result for 1024 is 0

env: [0x7fccc60011d0]

env->NewObject() 上调用几次后它崩溃了(异常被 clang 劫持(我尝试通过 clang c-api 使用)):

libclang: crash detected during indexing source file: {
'source_filename' : '/Users/asmirnov/Documents/dev/src/clang_jni/mac/test/TestFile.h'
'command_line_args' : ['-c', '-x', 'c++'], 'unsaved_files' : [],
'options' : 0, }

因此,尽管每次不需要本地变量时我都会调用 env->DeleteLocalRef,但似乎超出了 16 个本地引用限制。我该怎么办?

最佳答案

修复了在 JNI_OnLoad() 中调用 EnsureLocalCapacity 的问题

关于java - JNI : EnsureLocalCapacity ignored,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19893833/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com