JNI: EnsureLocalCapacity ignored
JNI: EnsureLocalCapacity ignored
>i 在一开始的每个本机方法调用中调用 EnsureLocalCapacity():
void ensureMemory(JNIEnv *env) {
jint ensureResult = env->EnsureLocalCapacity(MAX_LOCALS_COUNT);
debug("ensure result for %i is %i", MAX_LOCALS_COUNT, ensureResult);
确保 1024 的结果为 0
环境: [0x7fccc60011d0]
并且在env->NewObject()
上调用几次后崩溃(异常被 clang 劫持(我尝试通过 clang c-API 使用):
libclang:在索引源文件期间检测到崩溃:{
"source_filename" : '/Users/asmirnov/Documents/dev/src/clang_jni/mac/test/TestFile.h'
'command_line_args' : ['-c', '-x', 'c++'], 'unsaved_files' : [],
'选项' : 0, }
所以似乎超过了 16 个本地引用限制,尽管我每次不需要本地 var 时都会打电话给env->DeleteLocalRef
。我该怎么办?
在 JNI_OnLoad() 中调用 EnsureLocalCapacity
修复
相关文章:
- 为什么我会" void value not ignored as it ought to be"?
- 为什么编译器说"candidate template ignored: couldn't infer template argument 'InputIterator'"?
- 模板函数参数到模板函数的"candidate template ignored: could not match ..."
- C++生成器 10.2 基于函数的优化状态"unknown attribute 'optimize' ignored"
- 我正在"void value not ignored as it ought to be"我该怎么办?
- "C4649: attributes are ignored in this context"的含义是什么?
- 尝试分配函数指针时获取"Void value not ignored as it ought to be"
- "void value not ignored as it ought to be" - 出了什么问题?
- _InterlockedCompareExchange文档中"The sign is ignored"的含义
- "candidate template ignored: substitution failure:"编译器错误?
- 为什么我会收到"void value not ignored as ought to be"错误?
- CLion(和其他IDE?)的"#pragma ide diagnostic ignored"列表
- C++继承"Ignored"
- JNI: EnsureLocalCapacity ignored
- C++: strcmp being ignored
- SWIG C++ to Python: Warning(362): operator= ignored
- 错误是什么意思"void-value is not ignored"以及如何删除它?
- C++当参数包含 std::function 时,模板参数推断失败并出现错误"candidate template ignored"...为什么?
- "void value not ignored as it ought to be" - 夸脱/C++