几个注意点:
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
javah hello
会生成一个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文件)来实现特定功能或提高性能。...
下面是一个简单的例子,演示如何使用 JAVA 调用 C# 编写的 DLL 文件。 首先,我们需要在 C# 中创建一个 DLL 项目,并在其中编写我们的代码。我们可以使用 Visual Studio 创建一个新的 ClassLibrary 项目,并在其中...
本示例以"Java调用DLL例子"为主题,使用了JNative库作为接口来实现Java调用本地动态链接库。 JNative是一个开源的Java库,它提供了一种方法使得Java程序能够直接调用C/C++编写的函数,从而间接实现了调用DLL的功能...
在本例中,“java jna 调用dll例子”指的是使用JNA在Java应用程序中调用Windows上的动态链接库(DLL)文件,这里特别提到了大华SDK的Dll,这通常用于处理视频流和视频播放功能。 大华SDK( Dahua Software ...
### Java调用DLL:JNative概述 在Java项目中,有时候需要调用本地系统的动态链接库(DLL)来实现特定的功能。传统的做法是通过Java Native Interface (JNI)来进行调用,但这往往涉及到复杂的配置和繁琐的过程。为了...
### Java调用Dll一个例子:台半条码打印机 #### 一、项目环境搭建 在开始之前,我们需要准备一些基础的开发工具与环境。 ##### 1. 准备开发工具 本例中我们使用Java编辑器NetBeans IDE 6.8来构建这个示例程序。...
总的来说,Java调用动态库DLL主要依赖于JNI或第三方库。虽然JNI提供了更底层的控制,但设置过程较为复杂;而JNA则提供了更为方便的API,降低了门槛。在实际项目中,应根据需求和团队能力选择合适的方法。
Java JNI例子-创建DLL、项目导入DLL、IDEA配置JNI、JNI调用DLL(该DLL同时依赖第三方DLL)
首先,Java调用DLL的例子展示了如何通过JNI来利用本地资源。DLL是Windows操作系统上的动态链接库,其中包含可由多个程序共享的函数和数据。在Java中,通过JNI接口,开发者可以定义native方法,并在C或C++代码中实现...
在“JNA调用DLL完整实例demo”中,我们首先需要创建一个Java接口,这个接口将代表DLL中的函数。例如,如果DLL中有一个名为`recvWork`的函数,我们的Java接口可能会这样定义: ```java public interface ...
Java调用DLL实例是将Java代码与C++动态链接库(DLL)进行交互的一个常见需求。JNI(Java Native Interface)是Java平台标准的一部分,它允许Java代码和其他语言写的代码进行交互,包括C、C++等。这个实例是通过JNI来...
总结,Java调用C INI接口实例以及调用C DLL,主要涉及JNI技术,通过创建头文件、编写C代码、编译DLL、加载并调用DLL,实现Java和C之间的通信。在实际开发中,这可以帮助我们充分利用已有的C/C++资源,同时需要注意跨...
本文将深入探讨如何使用Java调用DLL(动态链接库)来获取硬盘序列号。 首先,我们需要理解DLL的本质。DLL是Windows操作系统中的一个重要组成部分,它包含了一系列可重用的函数和资源,可以被多个程序同时调用。在...
Java调用DLL是Java编程中一个重要的跨平台技术,它允许Java程序与本地操作系统的一些功能进行交互,这些功能通常由动态链接库(DLL)提供。本文将深入探讨如何在Java中实现DLL调用,以及利用开源包jacob来简化这一...
这个项目提供了一个例子,演示了如何使用Qt库构建一个C++动态链接库(DLL),然后通过Java的JNI(Java Native Interface)来调用这个DLL中的函数。下面我们将深入探讨这个过程中的关键知识点。 首先,我们要了解**...
本实例将详细介绍如何使用JNA调用DLL动态链接库,通过一个超简单的Demo来展示其过程。 首先,我们需要了解JNA的基本工作原理。JNA通过映射Java方法到本地库中的函数,实现了跨语言的通信。在Java中,我们定义一个...
本教程将通过一个简单的例子来演示如何使用JNI调用DLL动态链接库。 首先,我们需要理解JNI的工作原理。JNI提供了一套接口,使得Java代码可以通过这些接口来调用本地(Native)代码,这里的本地代码可以是C、C++等...
Java调用DLL或COM组件是跨平台编程中的一个常见需求,尤其是在Windows环境下处理Office文档时。标题中的"java调用dll/com组件word excel使用jawin架包"涉及到的技术点主要包含以下几个方面: 1. **Java Native ...