JNI - Getting Started

来源:互联网 发布:速达软件数据库密码 编辑:程序博客网 时间:2024/04/29 17:20

1. Create a class that declares the native method.  HelloWorld.java

class HelloWorld{private native void print();public static void main(String[] args){new HelloWorld().print();}static{System.loadLibrary("HelloWorld");}}

2. Use javac to compile the program

javac HelloWorld.java

3. Use javah to generate header file

javah -jni HwlloWorld


4. Write the C implementation of the native method.

Create file HelloWorld.c, and write:

 

#include <jni.h>#include <stdio.h>#include "HelloWorld.h"JNIEXPORT void JNICALL Java_HelloWorld_print  (JNIEnv *env, jobject obj){printf("Hello World!\n");return;}


5. Compile C code and generate native library

gcc -shared HelloWorld.c -fPIC -I /usr/lib/jvm/java-1.7.0-openjdk-amd64/include -I /usr/lib/jvm/java-1.7.0-openjdk-amd64/include/linux -o libHelloWorld.so

Notes:

-fPIC


6. Run the program using the java interpreter

Set current file to java classpath,

LD_LIBRARY_PATH=.export LD_LIBRARY_PATH

  Run java program:

java HelloWorld



0 0