Linux下JNI技术实现

王朝system·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

<1>编写Java文件,指定本地方法

class HelloWorld ...{

public native void displayHelloWorld(); //声明本地方法

static

...{

System.loadLibrary("hello"); //加载hello库

}

public static void main(String[] args)

...{

new HelloWorld().displayHelloWorld(); //调用库里的方法

}

}

<2>编译Java文件并产生本地方法头文件

javac HelloWorld.java

javah -jni HelloWorld

<3>根据产生的HelloWorld.h头文件编写实现文件HelloWorld.c

#include <jni.h>

#include "HelloWorld.h"

#include <stdio.h>

JNIEXPORT void JNICALL

Java_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj)

...{

printf("Hello world! ");

return;

}

<4>编译C、C++源文件,产生libhello.so文件

cc -G -I/usr/java/include -I/usr/java/include/solaris HelloWorldImp.c -o libhello.so

<5>指定动态链接程序此共享库文件的路径

export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH

<6>运行HelloWorld.class文件

java HelloWorld

本人在Unix-Center上测试通过,希望你们测试也能成功。祝你们好运。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航