当前位置:  技术问答>java相关

在JAVA里面如何调用DLL文件

    来源: 互联网  发布时间:2015-08-20

    本文导语:  谢谢,如果可能,请给例子 | 只能使用JNI来实现,给一个我写的小例子,仅供参考: 这是一个打印hello world的例子,打印由c的printf来完成 package mytest; public class HelloNative {           //将要...

谢谢,如果可能,请给例子

|
只能使用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:winntsystem32下,你的.h文件也要放到相应目录(在编译dll时放到vc98include下,还有jni.h和jni_md.h也要找到它们放入),这样就基本完成了,具体细节我无法讲得太仔细建议去看参考资料.谢谢.

|
我现在很忙,没时间给你详细讲,有问题给我发mail:slaner@163.com

|
java 自然语言

汗……

是哪本书上翻译的?

|
jni 方法,具体的你可以到www.IBM.com/cn/去找一下

那里有一套完整介绍JNI的书

|
调用com组件可以吗,用http://users.rcn.com/danadler/javacom/index.html

    
 
 

您可能感兴趣的文章:

  • VB编写的DLL不能被JAVA调用,用C将VB编写的DLL包装起来,做成一个新的DLL;用C编写的DLL可以被JAVA调用,用JAVA再进行一层的包装,因为JAV
  • 请问从一个java程序中如何调用另一java程序,并控制可以其状态(最小化、最大化、结束程序),还有怎样知道那个被调用的程序结束。
  • 可不可以用java调用其他语言的编译结果?(好象asp调用com那样)
  • 请问如何在Java中调用一个VB所写的DLL?如何调用这个Dll的方法?如何取得和设置这个Dll的属性值?谢谢!
  • ###java调用COM组件或COM调用java组件(EJB)解决办法。###
  • java线程怎么调用java的application.class?
  • 求救!!如何在java程序中调用外部非java的exe文件?
  • 急!请问有分析java程序性能瓶颈的工具吗?例如,统计 java 程序中函数调用次数?
  • java.awt 和java.util都有List,想调用awt的List而出现Ambiguous class错误怎么办?
  • 一个.java文件中怎样来调用另一个.java文件中的变量及其它东西!
  • java调用sh脚本遇到export命令会卡住,sh不能调用子sh
  • Java能调用OLE对象吗?怎样利用Java生成Excel报表?
  • java打包后如何调用?
  • 请问Java可否调用MsSQL的存储过程,如何调用?
  • 奇怪?我在jsp中调用java类。java类本身编译没错,但jsp中的引用Tomcat总是报错。
  • java能否调用dll或ocx
  • 如何用java调用word?来者给分!·!!!!!
  • 怎么在java里调用一个oracle的procedure呢?
  • 我在APPLET里调用JAVAMAIL发邮件,出现java.security.AccessControlException: access denied (java.util.PropertyPermission * read,write)的错误???
  • 求教!!!VC应用调用Java模块可行吗?
  • Java读写包括中文的txt文件时不同编码格式问题解决
  • JAVA编译的CLASS文件可以反编译为JAVA文件吗?
  • 保存java.sh文件时,多出一个java.sh~文件
  • 用什么工具可以把JAVA的.CLASS文件反编译成.JAVA文件??
  • 请问把.class文件反编译为.java文件的工具有什么???能恢复到原来的.java文件吗???
  • 用java读中文linux中的文件是正确的,用java读英文linux版本中的文件是乱码,如何使英文linux读出的文件数据也是中文的?
  • java文件复制代码片断(java实现文件拷贝)
  • java读取csv文件示例分享(java解析csv文件)
  • 我刚学java,想请教一下,我在文本中创建了一个接口,一个类,还有一个扩展类,保存为.java文件时,如何给文件名?
  • 请教:有没有把java编译好的.java和.class文件编译成各个平台下的可执行文件??.exe?着急着急
  • java文件操作之java写文件简单示例
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 为什么调用DLL总是出现no FirmClient.dll in java.librayry.path?
  • java中能调用VB写的Dll吗?是不是只能调VC写的dll?
  • 请问java高手,谁知道java怎么用 *.dll ???
  • 请问如何用java调用C的Dll库
  • java调用dll的问题???至今没有解决!!!求救!!!
  • 在java里如何调用DLL
  • java调用C/C++编写的DLL文件问题,请有经验的高手指教?
  • Java和DLL(COM)互操作 Jawin
  • java中如何调用windows的dll?
  • 哪位高手有兴趣跟我讨论讨论java中调用dll文件??小弟有些问题还是不很清楚??
  • java 如何调用 DLL
  • 用Java能不能调用*.DLL?
  • 怎样用java调用DLL动态连接库?
  • 有哪位知道Java调用标准DLL的参考书(或地方)
  • java中调用GDAL DLL的实现方法
  • 我的java程序要進行平台移植,原來的DLL庫還能用嗎?
  • 有没有人做过JNI,我要在C++中调用java类方法,那个javai.dll在那里啊?(重分向谢!)
  • Java使用JNI方法调用DLL问题
  • 请问在java里怎么调用dll?
  • java使用JNA(Java Native Access)调用dll的方法
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3