CSDN博客

img huoyin

如何在linux下创建一个简单的JNI程序HelloWorld

发表于2008/10/1 8:28:00  1846人阅读

分类: Linux JAVA

1)创建一个HelloWorld.java文件,如下:

public class HelloWorld {
    static{
        System.load("/home/test/exercise/jni/libhelloworld.so");
    }
    public HelloWorld(){
    }
    public native void sayHello(String message);
}

2)编译HelloWorld.java生成HelloWorld.class文件

 

3)使用如下命令生成HelloWorld.h文件

javah -jni HelloWorld

 

4)创建一个HelloWorld.cc的文件如下:

#include <stdio.h>
#include "HelloWorld.h"

JNIEXPORT void JNICALL Java_HelloWorld_sayHello(JNIEnv * env, jobject obj, jstring name) {
    jboolean isCopy;
    const char * pname = env->GetStringUTFChars(name,&isCopy);
    int len = strlen(pname);
    printf("Hello,%s/n", pname);
    env->ReleaseStringUTFChars(name,(const char *)pname);
    return;
}

5)使用如下命令编译生成li bhelloworld.so文件

g++ -I ${JAVA_HOME}/include -fPIC -c HelloWorld.cc
g++ -shared  -o libhelloworld.so HelloWorld.o

 

6)创建一个JNIClient.java文件如下:

public class JNIClient{
    public static void main(String argv[]){
        HelloWorld h = new HelloWorld();
        h.sayHello("World");
    }

}

 

7)编译生成JNIClient.class文件

 

8)用java JNIClient测试是否成功。

 

Good luck:-)

阅读全文
0 0

相关文章推荐

img
取 消
img