Java中的native方法


注:此处只是临时记录一下,以后有时间的时候再仔细整理。

可以将native方法比作Java程序同C程序的接口,其实现步骤:

  1、在Java中声明native()方法,然后编译;

  2、用javah产生一个.h文件;

  3、写一个.cpp(或.c)文件实现native导出方法,其中需要包含第二步产生的.h文件(注意其中又包含了JDK带的jni.h文件);

  4、将第三步的.cpp文件编译成动态链接库文件;

  5、在Java中用System.loadLibrary()方法加载第四步产生的动态链接库文件,这个native()方法就可以在Java中被访问了。


以下是手工编写动态链接库的步骤:

1.编写dll函数实现源代码hello.c


#include

int say_hello(char* name)
{
printf( "hello %s\n ", name);
return 1;
}


2.编写dll函数输出定义文件hello.def.

LIBRARY hello
EXPORTS
say_hello @1


3.编译dll源码,生成dll,lib文件.

3.1 新建命令行窗口
3.2 设置PATH ¦ INCLUDE ¦ LIB 3个环境变量.

SET PATH=K:\vcnet\vc7\bin;%PATH%
SET INCLUDE=K:\vcnet\vc7\include;%INCLUDE%
SET LIB=K:\vsnet\Vc7\lib;%LIB%

3.3 编译hello.c

cd K:\Source\dllsample (hello.c和hello.def所在目录)
cl /c hello.c

3.4 链接hello.obj,生成hello.dll,hello.lib两个文件.

link /def:hello.def /dll hello.obj
至此,.dll动态链接库文件生成

你可能感兴趣的:(native)