在最近的工作中,需要通过Java调用C++的动态链接库(.so文件)。为此,我使用了Java的JNI(Java Native Interface)技术。我整理了一个简单的示例,供大家参考。
JNI 是Java提供的一种机制,允许Java代码与本地应用程序或库进行交互,尤其是那些用C或C++编写的库。这在需要与底层系统进行高效交互或调用现有的本地库时非常有用。
步骤1:创建工具静态库 (libcalc.a
)
首先,我们编写一个简单的 cpp 文件(calc.cpp
),这个文件包含一个执行加法运算的函数,然后将其编译成静态库。
calc.h
// calc.h
#ifndef CALC_H
#define CALC_H
class Calculator {
public:
int add(int a, int b);
};
#endif // CALC_H
calc.cpp
// calc.cpp
#include "calc.h"
in