JNI初探一(windows平台开发)

2008-02-23 09:32:29来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

首先,在Java源文件中把我们需要声明类中的函数为native,例如:

sam4java.java

public class Sam4java
{
public Sam4java(){
}

public native int intMethod(int n);
}

然后

javac sam4java.java,生成了sam4java.class;

javah sam4java,生成了sam4java.h

生成的c函数原形

JNIEXPORT jint JNICALL Java_sam4java_intMethod(JNIEnv *, jobject, jint);

注意:这个函数原形包含了3部分,(1)Java固定前缀 (2)sam4java类名 (3)iniMethod函数名

参数就不在这里讨论,以后补充.

根据生成的sam4java.h,自己实现sam4java.c文件,编译成功后就可以获得sam4java.dll

应为没有放到package里,所以运行时很简单,不需要考虑目录结构,把所有文件拷贝到同一个目录即可。

给sam4java.java增加main函数,如下:

public static void main(String[] args)
{
System.out.println("load lib sam4java start ......");

System.loadLibrary("sam4java");

System.out.println("load lib sam4java completed.");

Sam4java sam4java = new Sam4java();

int square = sam4java.intMethod(5);

System.out.println("intMethod: " square);

}

最后,重新编译 javac sam4java.java

运行 java sam4java

如果我们把sam4java放到package com.me.test里,我们又该怎么办呢?

上一篇: JNI初探二(windows平台开发)
下一篇: 用JSP从数据库中读取图片并显示在网页上

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Midlet与服务器的交互

下一篇:J2EE修炼之四书五经