安装JDK

操作系统:centos7

  • 下载jdk

  • 配置profile

    使环境变量立刻生效:

调用DLL

安装GCC

这里以常见的windows64位操作系统为例说明

  • 下载mingw

    这里要安装64位的mingw

    跳转到https://sourceforge.net/projects/mingw-w64/files/mingw-w64/

    MinGW-W64 Online Installer下表示exe安装版本(安装过程需要联网,可能失败),MinGW-W64 GCC-8.1.0下表示离线版本,这里选择离线版本x86_64-posix-sjlj

    下载后解压缩,将里面的mingw64复制到任意目录,这里是C:\mingw64

    接着设置C:\mingw64\bin为环境变量,安装完毕

  • 使用mingw安装gcc

    离线安装版自带gcc,不用额外安装gcc

    cmd运行命令,等待执行结束即安装完毕。

编写代码

  • java代码

    HelloJNI.java

    代码编写完成后,需要生成供c语言使用的头文件

    执行完毕后,会生成一个HelloJNI.h文件

    注意这个头文件声明了导出的java本地方法hello在c语言中对应的方法名:Java_HelloJNI_hello

  • c代码

    在c语言中就可以编写Java_HelloJNI_hello方法的实现了:

    hello.c

    该实现即当java调用该方法时,会打印Hello from C!

    • 注意事项

      hello.c的方法签名已经在HelloJNI.h中定义好了,这里编写实现方法时要保证参数类型和返回值类型和HelloJNI.h中定义保持一致。

运行

  • 生成dll文件

    编译包含java jni的c代码,需要用到jdk提供的头文件(jni.h), 因此gcc编译的时候要通过-I指定头文件搜索的路径,这里指定了两个路径。另外-m64表示编译为64位版本的dll文件。

  • 运行java代码

    这时候可以看到控制台输出:

我们非常希望这篇文章能为你提供所需的帮助。你的反馈和建议对我们来说都是宝贵的资源。如果你有任何想法或问题,别犹豫,请在下方评论区留言。同时,如果你觉得这篇文章有用,欢迎分享给你的朋友们。你的参与促使我们前行,期待与你一起学习和成长。

如果这篇文章对您有帮助,也可以赞赏博主喝杯茶~

1   说:

1

2024-04-30 14:44:02 引用

评论:

内容:

姓名(必填):

邮箱(必填):