java

位置:IT落伍者 >> java >> 浏览文章

Java中调用本地代码


发布日期:2022年05月24日
 
Java中调用本地代码

Java中调用dll中本地代码方法介绍:

环境:

JDK:

C:\Documents and Settings\mzq>java version

java version _

Java(TM) SE Runtime Environment (build _b)

Java HotSpot(TM) Client VM (build b mixed mode sharing)

本地代码编译环境:

MS Visual Studio

) 编写Java代码

示例代码如下:

public class JNITest {public static void main (String args[]) { if (argslength > ) { int x = new Integer(args[])intValue(); int a = new mynative()cubecal(x); Systemoutprintln(a); }}} class mynative {public native int cubecal(int x);static { SystemloadLibrary(mynative);}}注意mynative类内容即可

)生成为本地方法调用的mynativeh头文件

D:\workspace_java\JNI\src>javac JNITestjava

D:\workspace_java\JNI\src>javah jni mynative

)编写本地代码

注意:代码扩展名一定要用c

根据mynativeh编写

#include jnih int cube(int x) {return (x*x*x);}JNIEXPORT jint JNICALL Java_mynative_cubecal(JNIEnv *e jobject o jint x) {return cube(x);})解决依赖关系

将$JAVA_HOME$/include/jnih $JAVA_HOME$/include/win/jni_mdh

及mynativeh复制到vs proj目录下

)编译生成mynativedll

)复制mynativedll到存放Java项目目录中运行即可

D:\workspace_java\JNI\bin 的目录

: mynativeclass

: JNITestclass

: mynativedll

个文件 字节

个目录 可用字节

D:\workspace_java\JNI\bin>java JNITest

               

上一篇:Eclipse+JBoss+EJB3的Session Bean注释方法

下一篇:基于SMTP的JAVA邮件发送程序