Linux环境java使用jni调用本地方法

本文详细介绍了在Linux系统中,如何使用Java的JNI(Java Native Interface)来调用本地C方法的步骤。从创建Java的native方法定义,到转化为C头文件,再到实现C代码,生成链接库,最后加载库并调用本地方法。通过一个实例展示了从编译Java源码,生成头文件,编写C实现,编译链接库,到编写测试类并执行的过程。
摘要由CSDN通过智能技术生成

干活前先把流程理清楚,先把工作场景,分析步骤

1.创建一个本地方法的java定义(就是native方法定义)

2.将java定义转化成c定义(c定义就是.h文件,就是头文件,头文件其实就是将各个.c文件中重复的声明、宏定义等提取出来放进一个文件中,便于其他.c文件共用这部分的代码)

3.实现c定义(.c文件引用c定义,然后将c定义中的方法实现了)

4.将c实现转化成链接库

5.加载链接库,调用本地方法触发链接库的实现

先查看本地方法的类,步骤1

/**
 * 调用本地方法的组件
 */
public class NativeUtils {
    /*比大小*/
    public native int max(int i, int y);
}

编译生成字节码文件:javac NativeUtils.java,目录下多了.class文件,步骤2

编译生成头文件:javah NativeUtils,目录下多了.h文件

查看头文件

/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class NativeUtils */

#ifndef _Included_NativeUtils
#define _Included_NativeUtils
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     NativeU
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值