最近有个项目,要用JAVA去调C的DLL文件,研究了以下,使用了JNI的方法。
数据全都打通了,在CPP的文件中,已经能取到相关数据,但返回给JAVA时得把数据类型转换为JAVA的类型,
String的类型,我知道用env->NewStringUTF();
那请问,我C中的是INT 类型,在这里该如何转换啊。多谢指教
数据全都打通了,在CPP的文件中,已经能取到相关数据,但返回给JAVA时得把数据类型转换为JAVA的类型,
String的类型,我知道用env->NewStringUTF();
那请问,我C中的是INT 类型,在这里该如何转换啊。多谢指教
#include "stdio.h"
#include "shishi_Main.h"
#include "engine.h"
#include "string.h"
#include "windows.h"
JNIEXPORT jint JNICALL Java_shishi_Main_draw
(JNIEnv * env, jobject out)
{
jint i =5;
return i;
}
(JNIEnv * env, jobject out)
如果上面得类型是
JNIEXPORT jstring JNICALL Java_shaishi_Main_draw
(JNIEnv * env, jobject out)
这种情况下如何返回
int
只能在JNI的本地方法中调用JAVA函数了。
具体怎么调我没仔细研究因为没怎么用到,但是我知道是能调的
我给你找了个了解的,你去看下吧
http://blog.csdn.net/zjsjava/archive/2008/05/19/2458822.aspx