`
diy8187
  • 浏览: 79942 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

java 调用dll文件总结

阅读更多

java 调用dll文件时

几个注意点:
1. package的使用
2. javah的使用
3.path路径的设定

下面实例介绍java调用dll中的Max函数:

hello.java

package 2hei.net.dll;

public class hello
{
static
{
//System.out.println(System.getProperties().get("java.library.path"));
System.loadLibrary("Hello");
}
public native static int Max(int a,int b);

public static void main(String[] args)
{
int maxnum = 0;
int aa = 10;
int bb = 11;
hello hi= new hello();
maxnum = hi.Max(aa,bb);
System.out.println("max is "+maxnum);
}
}

生成.h头文件

createh.bat

cd E:\src\java\2hei\net\dll

javahhello

会生成一个2hei_net_dll_hello.h的文件

编辑编辑2hei_net_dll_hello.h 把#include <jni.h> 改成#include "jni.h"

从jdk的目录里面找到jni.h 和 jni_md.h

下面使用VC++生成dll文件。

新建一个dll工程,比如Hello 编辑Hello.cpp

// Hello.cpp : Defines the entry point for the DLL application.
//

#include "stdafx.h"
#include "Hello.h"
#include "2hei_net_dll_hello.h"

JNIEXPORT jint JNICALL 2hei_net_dll_hello_Max
(JNIEnv *, jclass, jint a, jint b)
{
if(a>=b)return a;
else
return b;
}

编译工程后,在Debug目录中找到Hello.dll文件,放到java的path目录下面。

执行hello.java 即可以得到想要的结果。

分享到:
评论

相关推荐

    java调用DLL文件

    总结来说,Java调用DLL文件主要依赖于JNative库,通过定义Java接口、加载DLL、获取函数句柄、创建代理对象以及调用函数等步骤实现。这种方法使得Java开发者能够充分利用C/C++库的功能,同时也保持了Java的跨平台特性...

    java调用dll最简单的方法

    在Java中调用DLL(Dynamic Link Library)文件,可以使用Java的本地方法接口(JNI,Java Native Interface)来实现。JNI允许Java程序与本地代码进行交互,从而实现跨平台的功能。

    亲测可用,java 成功调用dll函数。包含调用回调函数,springboot版本。最近由于公司业务需要,要调用dll文件,用JNA调用。

    Java调用DLL函数是跨平台编程中的一种常见需求,特别是在Java与C/C++代码交互时。JNA(Java Native Access)是Java平台上的一个库,它允许Java代码直接调用本机库(如DLL文件)的函数,而无需编写JNI(Java Native ...

    java调用dll文件的实例

    总结来说,Java调用DLL文件的实例主要涉及到JNI接口的定义、C/C++代码的编写以及DLL的加载和调用。这个过程对于Java开发者深入理解系统级编程和增强Java应用程序的功能具有重要意义。学习和掌握这一技能,可以帮助...

    Java调用dll文件开源组件jar包及说明文档

    Java调用DLL文件是软件开发中的常见需求,尤其是在Java与C/C++混合编程时。`JNative-1.3.2`是一个开源组件,专门设计用于帮助Java应用程序调用Windows平台上的DLL(动态链接库)文件,同时也支持Linux平台下的SO...

    JAVA调用DLL方法 JAVA调用DLL方

    通过本文的介绍,我们可以看到Java调用DLL文件不仅可行,而且有多种方式可以选择。其中,JNative提供了一种简单直接的方法,大大降低了调用本地库的难度。对于那些希望利用Java的强大功能同时又需要调用特定DLL文件...

    Java调用动态链接库(Java 调用 DLL)

    在实际项目中,Java调用DLL通常用于利用已有的C/C++库,或者执行一些Java不擅长的任务,如硬件控制、图形处理等。然而,由于涉及到本地代码,这也会增加程序的复杂性和维护难度,因此在选择这种方法时需要权衡利弊。...

    Java调用dll实现des加密解密

    总的来说,通过Java调用DLL实现DES加密解密涉及了Java和C/C++的混合编程,需要理解JNI的工作原理,以及如何在C/C++中与DLL交互。这个过程对于那些希望在Java中利用已有的本地库功能的开发者来说是至关重要的。

    非常好用java调用c++ dll文件demo

    5. **调用DLL方法**:现在,Java程序可以通过JNI接口调用DLL文件中的函数。 在提供的"java_dll_sample"压缩包中,可能包含以下元素: - `Java调用C++ DLL的Java类`:这个类会声明`native`方法,并在运行时通过`...

    Java调用DLL源代码

    总结起来,Java调用DLL是Java与本地系统交互的重要手段,通过JNA和JNative,开发者可以在Java应用程序中利用C/C++库的功能,增强程序的能力。这两种技术各有优缺点,选择哪种取决于项目需求和开发者的技术背景。理解...

    java调用C#封装的dll方法

    ### Java调用C#封装的DLL方法 #### 第一种方法:Java利用JNA进行调用 **背景介绍:** 为了实现Java与C#之间的交互,一种常用的方式是通过调用C#封装的DLL文件来完成特定功能。这种方法涉及到.NET Framework与Java...

    java调用dll新

    总结,Java调用C++ DLL的过程主要包括:编写C++ DLL、创建Java JNI接口、生成JNI头文件、实现JNI接口并编译为DLL、最后在Java程序中加载和调用DLL。这个过程虽然有些复杂,但能充分利用现有C++库,拓展Java的功能。...

    java调用dll接口

    总结来说,Java调用DLL接口是一个结合了JNA库和适当编程技巧的过程,它使得Java开发者能够充分利用操作系统级别的功能,而无需离开Java的舒适区。这种技术在处理低级操作、硬件控制、系统调用等场景时特别有用。通过...

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

    调用DLL文件的过程通常包括以下几个步骤: 1. **创建DLL**:首先,你需要使用C或C++编写一个DLL文件,其中包含将被Java调用的函数。这些函数需要按照JNI的规范来编写,即使用`JNIEXPORT`和` JNICALL`宏,以及指定...

    jna jar实现java调用dll

    JNA是实现Java调用DLL的关键工具,DLL是Windows操作系统中的本地库,而“java调用dll”是整个过程的目标。 在压缩包子文件的文件名称列表中,只有一个文件名"testmj"。通常,这可能是一个测试类或者包含主方法的...

    JAVA调用C#写的DLL例子

    在本篇文章中,我们将详细介绍如何使用 JAVA 调用 C# 编写的 DLL 文件。首先,我们需要了解什么是 DLL 文件,以及它在编程中的应用。 DLL 文件是一种动态链接库文件,它可以被多个程序同时使用,减少了代码的重复...

    Java调用Labview生成的DLL文件

    1、Labview生成Dll文件 2、Java通过Jnative第三方Jar包调用Labview生成的DLL文件 3、Java在Windows系统调用Labview生成的Dll的说明 有JNative的使用说明 直接下载,根据使用说明可以直接使用。

    java调用dll必备jar包

    总结,Java调用DLL涉及多个步骤,包括Java接口定义、DLL加载、本地方法实现等。`JNative.jar`提供了方便的接口来简化这一过程,而源代码`JNative_1.4RC2_src`有助于理解其工作原理和定制功能。正确使用这些工具,...

    java调用DLL:JNative

    ### Java调用DLL:JNative概述 在Java项目中,有时候需要调用本地系统的动态链接库(DLL)来实现特定的功能。传统的做法是通过Java Native Interface (JNI)来进行调用,但这往往涉及到复杂的配置和繁琐的过程。为了...

    Java调用Qt DLL

    Java调用Qt DLL是一个跨平台的技术实践,涉及到Java与C++之间的互操作性,其中Qt是一个流行的C++库,主要用于图形用户界面开发。这个主题主要包含以下几个知识点: 1. **JNI(Java Native Interface)**:JNI是Java...

Global site tag (gtag.js) - Google Analytics