我在 C 中有一个函数:
mySource.c:
int trapdoor(unsigned char keywords[][MAX_SIZE], unsigned int *s, int slen, unsigned char *out, int outlen);
其中关键字是 char 数组的数组(具有不同大小的关键字), s 是长度为 slen 的无符号整数(编辑:实际上 128 位 => 所以 slen 的值将是 4)并且 out 是目标指针,其中函数的结果被存储并且长度为outlen(编辑: 256位=>所以outlen的值为32)。
注意:由于这是一个加密函数,我需要数据类型与我提到的大小完全相同。
我必须使用 JNI 接口从 java 调用这个函数。现在,我必须将 java 和 JNI 中的等效数据类型作为参数传递以调用 C 中的陷门函数吗?
mySource_jni.c:
JNIEXPORT ?? JNICALL Java_proj_trapdoor(JNIEnv *env, jobject obj, ??, ??, ??, ??, ??, ??);
myJavaSource.java:
private native ?? trapdoor_extraction(??, ??, ??, ??, ??);
我从其他帖子中发现,Java 中没有与无符号数据类型等效的内容(如果我错了,请纠正我)。