`
ssy8110
  • 浏览: 15168 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

请教JNative 调用DLL的最佳方式

阅读更多
最近做一个项目需要跟硬件打交道,而硬件开发商只提供了一个DLL对硬件进行操作,于是我就用JNative对DLL中定义的函数进行调用,目前已知的调用方法是JNative native = new JNative("DELL Name","methodName");其它的构造忽略,在这种情况下,已创建了一个JNative的实例,并且要调用的方法也已跟这个实例绑定了,也就是说这个native只能调用指定的methodName,要想调用DLL中其它方法,还得重新实例化JNative。我也看过JNative 的部份源码和API也没发现有其它有其它的调用方式 ,不知是我太粗没看到呢?还是...还请知道的朋友告知
分享到:
评论
4 楼 sosyi 2010-09-01  
Exception in thread "main" org.xvolks.jnative.exceptions.NativeException: Function ConnectCom not found
at org.xvolks.jnative.JNative.nLoadLibrary(Native Method)
at org.xvolks.jnative.JNative.loadLibrary(JNative.java:534)
at org.xvolks.jnative.JNative.<init>(JNative.java:510)
at org.xvolks.jnative.JNative.<init>(JNative.java:427)
at org.jyw.SystemTime.SendSms(SystemTime.java:65)
at org.jyw.SystemTime.main(SystemTime.java:76)

什么原因?
3 楼 zhen0719 2010-08-27  
我现在也要做这个,想问下楼主是怎样解决的?
2 楼 lggege 2008-08-26  
确实是: 一个方法一个JNative实例. 看了最新的JNative4.0也是如此.

确实有很多不方便的地方.
1 楼 lggege 2008-08-26  
我的做法是:

一个static的Map, key是函数名, value就是key的函数名对应的new出来的JNative对象.

这个Map是在一个单件的Util类里面.


这么做也是因为最初发现new太多JNative对象后,程序莫名down了.

相关推荐

    在Java程序中使用JNative调用dll文件

    在Java程序中调用DLL(动态链接库)文件通常是通过JNI(Java Native Interface)来实现的,而JNative是JNI的一个封装库,它提供了一种更简洁的方式来调用C/C++编写的本地代码。这篇博客文章可能介绍了如何利用...

    简单jnative调用dll例子(含dll代码)

    本教程将通过一个简单的例子来演示如何使用JNI调用DLL动态链接库。 首先,我们需要理解JNI的工作原理。JNI提供了一套接口,使得Java代码可以通过这些接口来调用本地(Native)代码,这里的本地代码可以是C、C++等...

    java利用jnative调用DLL.txt

    ### Java通过JNative调用DLL的关键知识点 #### JNative简介 JNative是一个强大的Java库,允许Java应用程序直接调用本地动态链接库(DLL)或共享库。它为开发者提供了一个简单而灵活的方式来集成本地代码与Java环境...

    jnative框架调用dll动态库-简单demo(带dll文件).zip

    jnative是一个纯Java库,它提供了一种简单的方式来调用C和C++的函数,无需编写JNI头文件和本地代码。它的主要优点是减少了Java与本地代码交互的复杂性,使得开发者能够更专注于业务逻辑。 1. **设置环境**: 在...

    jnative调用动态库

    标题中的“jnative调用动态库”指的是Java中使用JNative库来调用本地(操作系统级别的)动态链接库(DLL或SO文件)的技术。在Java中,为了与操作系统底层功能进行交互,比如调用C/C++编译的库,我们可以使用Java ...

    java调用DLL:JNative

    通过上述介绍和示例代码可以看出,JNative提供了一种简单而高效的方式来调用DLL文件中的函数。这种方式不仅减少了传统JNI调用所带来的复杂性和潜在问题,而且提高了开发效率。对于需要在Java项目中集成本地系统资源...

    JNA.jar-JNative.jar-dll创建-JAVA调用-VC调用

    标题中的“JNA.jar-JNative.jar-dll创建-JAVA调用-VC调用”涉及到的是Java平台下通过JNI(Java Native Interface)的两种实现方式,JNA(Java Native Access)和JNative,来与C/C++编写的动态链接库(DLL)进行交互...

    Java调用DLL的工具 JNative

    Java调用DLL的工具JNative是为了解决Java应用程序与本地动态链接库(DLL)交互问题而设计的一个开源组件。在传统的Java开发中,如果需要调用非Java编写的库,比如C或C++编译的DLL,通常会使用JNI(Java Native ...

    YiKaTong.rar_JNative_YiKaTong.r_java jnative dll_jnative api_jna

    《JNative调用DLL进行开发详解》 在Java编程中,有时我们需要调用本地系统库(如DLL文件)来执行特定的功能,这时JNative库就显得尤为重要。JNative是Java平台上的一个开源库,它允许Java程序直接调用C/C++编写的...

    Java调用DLL例子

    JNative通过JNI(Java Native Interface)技术,为Java程序员提供了一个安全且灵活的方式来访问本地代码,包括Windows上的DLL或Unix/Linux下的.so库。 1. **Java调用动态链接库的基本流程**: - 首先,你需要一个C...

    JNA.jar-JNative.jar-jinvoke.jar-dll创建-JAVA调用-VC调用

    `TestJNative.java`很可能是使用JNative调用DLL的示例代码。 `jinvoke.jar`是另一个相关的库,它可能提供了一种更简便的Java本地调用方式,简化了JNI的使用。`TestJInvoke.java`可能展示了如何使用jinvoke来调用`...

    java调用DLL文件

    Java本身并不直接支持加载和调用DLL,但可以通过第三方库如JNative来实现这一目标。本文将详细介绍如何在Java中使用JNative库来调用DLL文件。 首先,理解DLL文件:DLL(Dynamic Link Library)是Windows操作系统中...

    JAVA调用DLL方法 JAVA调用DLL方

    下面我们将通过一个具体的例子来展示如何使用JNative来调用DLL中的方法。 #### 准备工作 1. **下载并配置JNative:** - 获取JNative的三个核心文件:`JNativeCpp.dll`(Windows平台)、`libJNativeCpp.so`(Linux...

    Java调用DLL源代码

    在Java中,有多种方法可以实现这个功能,其中最常用的是Java Native Interface (JNA) 和 JNative。 **Java Native Interface (JNA)** JNA 是一个开源框架,它提供了直接调用本地库函数的能力,无需编写JNI(Java ...

    JNative用java调用动态库VC++

    总的来说,JNative提供了一种方便的方式来集成Java应用程序与C/C++库,减少了使用JNI进行本地方法调用时的复杂性。通过使用JNative,开发者可以专注于业务逻辑,而不是底层的库调用细节。同时,JNative的优秀特性,...

    JAVA调用动态链接库DLL之JNative学习源码

    `JNative` 是一个用于Java调用本地代码(如DLL)的开源库,它提供了一个方便的接口,使得Java程序员可以轻松地与动态链接库进行交互。本教程将围绕如何使用`JNative`来调用DLL进行深入讲解。 首先,我们要理解Java...

    JAVA如何调用dll:用JNI调用C或C++动态联接库

    总结来说,调用C或C++ DLL文件的主要步骤包括:准备DLL和JNative库,编写Java代码,使用JNative对象创建函数调用,并设置参数及返回值类型。最后,通过`invoke`方法执行函数并处理返回值。这种方法使得Java程序能够...

    java使用JNative调用动态连接库实例[文].pdf

    【Java调用动态链接库(DLL)通过JNative】 在软件开发中,有时我们需要在Java应用程序中使用由其他编程语言(如C++或Delphi)编写的动态链接库(DLL)。`JNative`是一个Java库,它允许我们直接在Java代码中调用DLL...

    java调用dll最简单的方式

    1、需要将JNativeCpp.dll和需要调用的dll放到C:\WINDOWS\system32目录下。 2、将JNative.jar放到项目下。 3、如果运行时还是提示找不到你调用的dll,那么将mscoree.dll也放到C:\WINDOWS\system32目录下并注册此dll。...

    JNative.jar和JNativeCpp.dll

    总结一下,"JNative.jar和JNativeCpp.dll"组合是一个用于Java应用调用原生C++代码的解决方案。JNative.jar提供Java端的接口,而JNativeCpp.dll和libJNativeCpp.so则分别是Windows和Linux平台上的原生实现。这种技术...

Global site tag (gtag.js) - Google Analytics