IntelliJ IDEA平台下JNI编程
- 使用JNI,那就不可避免地需要将C/C++文件编译成dll(windows)或so(Linux)文件
- 在Java代码中需要将调用的C++方法用native修饰。同时在初始化主方法之前需要加载库。(函数System.loadLibrary()是加载dll(windows)或so(Linux)库,只需名称即可,无需加入文件名后缀(.dll或.so)。native关键字将函数sayHello()声明为本地函数,由C/C++实现。具体的实现就在hello.dll(Windows平台)或hello.so(Linux平台)中)
- JNI生成头文件是通过JDK中提供的javah来完成,javah在 {JDKHome}/bin目录中。
- 成的.h头文件 一般如下:
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_zhonghao_java_HelloJNI */
#ifndef _Included_com_zhonghao_java_HelloJNI