jni

1. 安装java

    https://blog.csdn.net/zbj18314469395/article/details/86064849

2. 例子

https://blog.csdn.net/createchance/article/details/53783490

  • HelloJNI.java
public class HelloJNI {
   static {
      System.loadLibrary("hello"); // Load native library at runtime
                                   // hello.dll (Windows) or libhello.so (Unixes)
   }

   // Declare a native method sayHello() that receives nothing and returns void
   private native void sayHello();

   // Test Driver
   public static void main(String[] args) {
      new HelloJNI().sayHello();  // invoke the native method
   }
}
  • HelloJNI.c
#include <jni.h>
#include <stdio.h>
#include "HelloJNI.h"

// Implementation of native method sayHello() of HelloJNI class
JNIEXPORT void JNICALL Java_HelloJNI_sayHello(JNIEnv *env, jobject thisObj) {
   printf("Hello World renhl!
");
   return;
}

Makefile

all:
    gcc -fPIC --shared HelloJNI.c -o libhello.so -I /usr/lib/jvm/java-8-openjdk-i386/include/ -I/usr/lib/jvm/java-8-openjdk-i386/include/linux
clean:
    rm -f libhello.so 

.PHONY:all clean
原文地址:https://www.cnblogs.com/renhl/p/14300897.html