java代码
package learn.upon.jni;
public class Hello {
// 声明本地方法
public native void sayHello();
static {
System.loadLibrary("test");
}
public static void main(String args[]) {
new Hello().sayHello();
}
}
src目录运行
javah -jni learn.upon.jni.Hello

JNIEXPORT void JNICALL Java_learn_upon_jni_Hello_sayHello
(JNIEnv * env, jobject thiz);

DevC++

复制文件到同一目录(找不到百度一下)

添加方法实现

点击编译,生成文件


复制到项目下,而不是src及其子目录下(与src同级目录)

Congratulations!

还不错的话还请点个赞
本文详细介绍了如何使用Java Native Interface (JNI) 在Java代码中调用本地C库。首先创建了一个简单的Java类`Hello`,声明了native方法`sayHello()`. 接着使用`javah`工具生成C头文件,然后编写C方法实现,并将编译后的动态链接库(.dll或.so)与Java项目关联。最后,在`main`方法中调用`sayHello()`,成功实现了Java与C代码的交互。
2374





