以下是我从java程序调用本机函数所遵循的不完整步骤。
.class文件。javah - jni,我生成了一个与.class文件同名的头文件。dll。这是调用本机c方法的java程序。
class HelloWorld {
private native void print();
public static void main( String args[] ) {
new HelloWorld().print();
}
static {
System.loadLibrary("??"); // what should i write here ?
}}
,这是c程序
#include <jni.h>
#include <stdio.h>
#include "HelloWorld.h"
JNIEXPORT void JNICALL
Java_HelloWorld_print( JNIEnv *env , jobject obj) {
printf("Hello World!\n");
return;
}我将项目名称保留为jni tester,c文件名为HelloWorld.c。
在语句System.loadLibrary(??)中,参数中库的名称应该是什么?(或者,在填写loadLibrary的论点之前,我是否遗漏了什么步骤?)
如果是这样的话,我错过了什么?
https://stackoverflow.com/questions/7221996
复制相似问题