新手问题之五:JAVA中怎样调用WINDOWS的DLL中的函数? Thinking in java: JNI 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 System.loadLibrary("Library DLL Name");public native void method(); http://www.csdn.net/Expert/TopicView1.asp?id=879129 其实java调用dll是和c分不开的,下面给出一个java调用windows中dll的函数的例子。程序如下hellodll.javapublic class hellodll{ static { System.loadLibrary("sunpengjie"); } public native static String helloget(); public native static void helloset(int helloword); public static void main(String[] args) { hellodll hello = new hellodll(); hello.helloset(1); System.out.println(hello.helloget()); }}用javac hellodll.java编译它,会生成hellodll.class再用javah hellodll,则会在当前目录下生成hellodll.hhellodll.cpp文件#include "hellodll.h"String str = "";//在产生的hellodll.h中会看到两个函数的原型JNIEXPORT ? JNICALL Java_hellodll_helloget (JNIEnv *, jclass){ return str;}JNIEXPORT void JNICALL Java_hellodll_helloset (JNIEnv *, jclass, jint j){ if (j>0) { str = "This is a helloword Program!!!!!!" ;} if(j<=0) { str = "This is not a helloword Program!!!!!!";} }编译连接成库文件,在WINDOWS下生成sunpengjie.dll。把sunpengjie.dll拷贝到hellodll.class的目录下,java hellodll就可以运行了。 服务器与客户端之间通信问题 动态博弈的小程序(本人菜鸟,初次发贴向大家请教问题,请多关照!) 请教一个java里的问题 java中FileChooser和FileDiolg的比较 帮我看一下一个简单的程序,谢谢 求一个鼠标事件的算法 javamail 中如何得知一封邮件为回复邮件? 关于IO流的一个问题。 关于Switch语句的应用 关于button事件执行多个方法,依次将结果返回的问题 一个让人迷惑的问题! 文件保存问题:File file = new File (currentFileName);
public class hellodll
{
static
{
System.loadLibrary("sunpengjie");
}
public native static String helloget();
public native static void helloset(int helloword);
public static void main(String[] args)
{
hellodll hello = new hellodll();
hello.helloset(1);
System.out.println(hello.helloget());
}
}
用javac hellodll.java编译它,会生成hellodll.class
再用javah hellodll,则会在当前目录下生成hellodll.hhellodll.cpp文件#include "hellodll.h"
String str = "";
//在产生的hellodll.h中会看到两个函数的原型
JNIEXPORT ? JNICALL Java_hellodll_helloget (JNIEnv *, jclass)
{
return str;
}
JNIEXPORT void JNICALL Java_hellodll_helloset (JNIEnv *, jclass, jint j)
{
if (j>0)
{ str = "This is a helloword Program!!!!!!" ;}
if(j<=0)
{ str = "This is not a helloword Program!!!!!!";}
}编译连接成库文件,在WINDOWS下生成sunpengjie.dll。把sunpengjie.dll拷贝到hellodll.class的目录下,java hellodll就可以运行了。