QAndroidJNI callMethod error
QAndroidJNI callMethod error
我具有以下Java函数,可以在附件模式下打开USB端口。
public int openAccessory() throws Exception { /* Open stuff */ }
public int closeAccessory() throws IOException { /* Close stuff */ }
我正在调用C 的这些函数,实例化一个称为javaObject的qandroidjniobject,并进行以下调用:
int AOAConnection::Open() {
JNIEnvironmentAttacher jea(&this->JNIE);
return JavaObject.callMethod<jint>("openAccessory");
}
int AOAConnection::Close() {
JNIEnvironmentAttacher jea(&this->JNIE);
return JavaObject.callMethod<jint>("closeAccessory", "(V)I");
}
因此,此代码正常工作且花花公子,事实是,如果我将第一个C 调用更改为(我以前正在做):
return JavaObject.callMethod<jint>("openAccessory", "(V)I");
我的程序燃烧并崩溃。为什么是这样?我是否取决于某种扭曲的ub来工作。
int AOAConnection::Close () {
JNIEnvironmentAttacher jea(&this->JNIE);
return JavaObject.callMethod<jint>("closeAccessory", "(V)I");
}
所以此代码正常工作
您只是幸运的是:因为closeAccessory
不采用paramater,但您提到它确实会得到一个((V)I
),并且无论如何都没有指定它。所以,是的,我敢打赌,您在这里获得了一些不确定的行为,然后并不奇怪(即使很难解释为什么要详细解释),如果您重复使用其他功能的同一错误,您会崩溃...
相关文章:
- "error: no matching function for call to"构造函数错误
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 使用 LuaBridge 将 LuaJIT 绑定到C++会导致"PANIC: unprotected error"
- OpenMP卸载说'fatal error: could not find accel/nvptx-none/mkoffload'
- C++错误:"error: int aaa::bbb is protected within this context"
- 尝试链接我的着色器时,我收到错误代码"error c5145 must write to gl_position"
- C++,在int数组中输入字符串或字符会输出0,而不是ascii或error
- 使用 cmake 的 LLVM 构建在 tsan_libdispatch_mac.cc 期间失败; "Error: conflicting types for ..."
- C++ "error: invalid use of void expression"
- struct.error:解压缩 C++ 结构时,解包需要 288 字节的缓冲区
- 如何修复"error: ‘_1’ was not declared in this scope"?
- 从不同目录执行时"symbol lookup error:",否则从构建目录执行时按预期工作
- 对象声明中的模板"error: expected expression"
- 在C++中使用 Catch 测试框架编译错误"error: expected ';' at end of declaration list"
- OpenCV 3.4.1 error readNetFromTensorflow 无法在 cv::d nn::ReadProtoFromBinaryFile 中打开 .pb
- 已解决 - C++ 的崇高文本中的"fatal error: opencv: no such file or directory"
- 为什么我会"error: expected expression"?
- CMake Error at modules/videoio/cmake/detect_ffmpeg.cmake:16
- 如果两个静态库使用相同的另一个静态库,如何避免"LNK2005 Already Defined error"?
- QAndroidJNI callMethod error