java怎么通过JNI来调用C/C++层面的东西呢
最佳答案
首先你要将C/C++的程序按JNI的格式,编译成dll
然后java就可以调用此dll,并调用C的函数或变量了
这个部分相对复杂,你必须的JAVA及C/C++的相当基础
如C的函数定义
JNIEXPORT jint JNICALL Java_test_ctest(JNIEnv *env, jclass cl)
{
printf("Now I'm in C++\n");
return (jint)100;
}
JAVA的程序为
static {
System.loadLibrary("dlltest");
}
public native static int ctest();
....
System.out.println("I'm in java");
int i=ctest(); //JAVA从DLL中调用C的ctest函数,并得到返回值100
System.out.println("I get a return of int:"+i);
最佳答案由网友 whoami1978 提供
其他回答
暂无其它回答!