关于jni:C实现Java-native方法

利用场景通过JNI, 实现Java调用C++代码 环境JDK: jdk-17.0.9mingw-w64: x86_64-8.1.0-release-win32-seh-rt_v6-rev0操作系统: windows11 实现步骤1. 申明native办法NativeCommand.java /** * # 生成头文件 * javac -encoding UTF-8 -h . NativeCommand.java * -jni示意生成c++头文件, 从Java 10开始,-jni 选项曾经不再须要了,因为当初 javac -h 默认就会生成C++的头文件。 * */public class NativeCommand { /** * 发送命令给Cpp * @param command 命令 * @param args 参数 * @return 响应 */ public native String send(String command, String... args);}下面定义了办法public native send(xxx) 2. 生成.h头文件执行命令即可(如果是JDK8, 须要应用javah命令)javac -encoding UTF-8 -h . NativeCommand.java jdk17曾经将javah合并到javac中了, 应用javac -h代替javah命令执行实现后当前目录会生成NativeCommand.h文件 3. 编写C++代码NativeCommand.cpp ...

February 21, 2024 · 1 min · jiezi