新手---基于IDEA简单使用JNI

 一、创建一个使用JNI的java类

package org.example;

public class HelloJNI {

    // 声明一个 native 方法
    private native void sayHello();

    // 加载本地库
    static {
        System.loadLibrary("hello"); // 库名为 hello.dll
    }

    // 主方法
    public static void main(String[] args) {
        new HelloJNI().sayHello();
    }
}

二、

进入项目目录,比如:

cd C:\leidian\JNI-test1\src\main\java

编译 Java 类并生成头文件

比如:

javac -h . org/example/HelloJNI.java

这将编译 HelloJNI.java 并在当前目录生成 org_example_HelloJNI.h 头文件。

三、编写本地代码

创建c代码

#include <jni.h>
#include <stdio.h>
#include "org_example_HelloJNI.h" // 引用生成的头文件

// 实现 Java_org_example_HelloJNI_sayHello 方法
JNIEXPORT void JNICALL Java_org_example_HelloJNI_sayHello(JNIEnv *env, jobject obj) {
    printf("Hello from C!\n");
    return;
}
  • 函数名 Java_org_example_HelloJNI_sayHello 必须与头文件中的签名完全一致。
  • 确保包含了正确的头文件 org_example_HelloJNI.h

四、编译生成动态链接库

Windows:(需要在系统环境变量中添加JAVA_HOME)

gcc -I"%JAVA_HOME%\include" -I"%JAVA_HOME%\include\win32" -shared -o hello.dll HelloJNI.c

五、确保 JVM 能够找到并加载生成的本地库

假设你将 hello.dll 放在 C:\leidian\JNI-test1\lib 目录下。

  1. 打开 Run/Debug Configurations

    在 IntelliJ IDEA 中,点击菜单 Run > Edit Configurations...

  2. 选择对应的运行配置

    选择你的 HelloJNI 运行配置,如果没有则创建一个新的 Application 配置。

  3. VM options (可能需要再Modify_options中在Java中添加VM options)中添加 -Djava.library.path 参数,指向包含 hello.dll 的目录。例如:

    -Djava.library.path=C:\leidian\JNI-test1\lib
    

    注意: 使用双反斜杠或单反斜杠都可以,例如 C:\\leidian\\JNI-test1\\libC:\leidian\JNI-test1\lib

结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值