在JAVA里面如何调用DLL文件 用jni。就是java 自然语言,你可以看看《java编程思想》,里面有讲解的。主要是用vc做一个中间dll 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我现在很忙,没时间给你详细讲,有问题给我发mail:[email protected] 是的,不过要按照JNI的一套写函数。 只能使用JNI来实现,给一个我写的小例子,仅供参考:这是一个打印hello world的例子,打印由c的printf来完成package mytest;public class HelloNative{ //将要调用的打印方法声明为native,且直接加分号即可 public native static void greeting(); static { //这个dll是有打印函数的c编译成的 //系统在程序开始是导入它,这样才能成功 System.loadLibrary("newPrintfDll"); }}//主方法类package mytest;import mytest.*;public class HelloNativeTest{ public static void main(String[] args) { HelloNative.greeting(); }}成功!注意:首先,你要将HelloNative编译成class文件,然后使用javah编译该class文件,生成.h文件(要注意路径,如果有包,要退到包名上一级来编译.h文件,否则即使dll调用成功,也会显示找不到greeting方法)将该.h文件中的关键代码粘帖到cpp文件中(有vc向导生成一个dll的文件模版),关键代码:JNIEXPORT void JNICALL Java_mytest_HelloNative_greeting (JNIEnv* env, jclass cl)//稍做了修改{ printf("asdfasdf");}编译成dll文件,放到如c:\winnt\system32下,你的.h文件也要放到相应目录(在编译dll时放到vc98\include下,还有jni.h和jni_md.h也要找到它们放入),这样就基本完成了,具体细节我无法讲得太仔细建议去看参考资料.谢谢. java 自然语言汗……是哪本书上翻译的? jni 方法,具体的你可以到www.IBM.com/cn/去找一下那里有一套完整介绍JNI的书 调用com组件可以吗,用http://users.rcn.com/danadler/javacom/index.html JAVA控制台能每输入一个字符反馈一下吗? redhat linux crontab执行jar出错.... 工程与类的关系?? 网页打不开总是变成下载界面 eclipse中开发jsp时,图片名如果是中文,为什么就无法显示呢? applet 如何实现视频播放。 请教:JAVA中变量作用域的问题 请问在java中如何处理临界区问题 ldap的问题,大家都来看那, 软件包 java.unit 不存在是什么回事 一个很好解决的问题 有分可那 *考过scjp的给个意见*
这是一个打印hello world的例子,打印由c的printf来完成package mytest;public class HelloNative
{
//将要调用的打印方法声明为native,且直接加分号即可
public native static void greeting();
static
{
//这个dll是有打印函数的c编译成的
//系统在程序开始是导入它,这样才能成功
System.loadLibrary("newPrintfDll");
}
}//主方法类
package mytest;import mytest.*;public class HelloNativeTest
{
public static void main(String[] args)
{
HelloNative.greeting();
}
}成功!
注意:首先,你要将HelloNative编译成class文件,然后使用javah编译该class文件,生成.h文件(要注意路径,如果有包,要退到包名上一级来编译.h文件,否则即使dll调用成功,也会显示找不到greeting方法)
将该.h文件中的关键代码粘帖到cpp文件中(有vc向导生成一个dll的文件模版),关键代码:
JNIEXPORT void JNICALL Java_mytest_HelloNative_greeting
(JNIEnv* env, jclass cl)//稍做了修改
{
printf("asdfasdf");
}
编译成dll文件,放到如c:\winnt\system32下,你的.h文件也要放到相应目录(在编译dll时放到vc98\include下,还有jni.h和jni_md.h也要找到它们放入),这样就基本完成了,具体细节我无法讲得太仔细建议去看参考资料.谢谢.