java使用jni调用cpp的示例

发布时间:2024年01月16日

首先,我们需要创建一个Java类来调用C++函数进行四则运算。然后,我们需要编写C++函数来执行实际的计算操作。

首先是Java类的代码:

public class Calculator {
    static {
        System.loadLibrary("calculator");
    }

    public native int add(int a, int b);
    public native int subtract(int a, int b);
    public native int multiply(int a, int b);
    public native int divide(int a, int b);

    public static void main(String[] args) {
        Calculator calculator = new Calculator();
        System.out.println("Addition: " + calculator.add(10, 5));
        System.out.println("Subtraction: " + calculator.subtract(10, 5));
        System.out.println("Multiplication: " + calculator.multiply(10, 5));
        System.out.println("Division: " + calculator.divide(10, 5));
    }
}

然后是C++函数的代码:

#include <jni.h>

extern "C" {

JNIEXPORT jint JNICALL Java_Calculator_add(JNIEnv *env, jobject obj, jint a, jint b) {
    return a + b;
}

JNIEXPORT jint JNICALL Java_Calculator_subtract(JNIEnv *env, jobject obj, jint a, jint b) {
    return a - b;
}

JNIEXPORT jint JNICALL Java_Calculator_multiply(JNIEnv *env, jobject obj, jint a, jint b) {
    return a * b;
}

JNIEXPORT jint JNICALL Java_Calculator_divide(JNIEnv *env, jobject obj, jint a, jint b) {
    return a / b;
}

}

在这个例子中,我们创建了一个名为Calculator的Java类,它包含了四个native方法:addsubtractmultiplydivide,用于调用C++中的对应函数。在C++中,我们编写了四个对应的函数来执行实际的四则运算操作。当我们运行Java程序时,它将加载C++库并调用其中的函数来执行计算。

文章来源:https://blog.csdn.net/weixin_44808225/article/details/135634258
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。