`
lcywjvb
  • 浏览: 60678 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

java调用dll例子

阅读更多
1. 编写范例文档 
public class TestNative
{ 
  private native static int Max(int a,int b);   
  public static void main(String[] args) 
  { 
    System.out.println(Max(4,5)); 
  }  
  static 
  { 
    System.loadLibrary("VCdll"); 
  } 
} 
其中 
LoadLibrary中的DLL文件名称可以随便定.只要做好的动态链接库改名成这个字符串就可以了.而native函数的来源就是该动态链接库. 
2. 做好该步准备以后,用javac TestNative.java生成TestNative.class. 检验语法. 
3. 语法检查通过以后,用javah TestNative生成TestNative.h的C++头文件. 
4. 用VC++6.0创建dll文件:
   <1>msdev->new->project->win32 Dynamic-Link Library
   <2>Enter project name (e.g. VCdll)
   <3>choose "An empty DLL project"->finish
   <4>将3生成的TestNative.h和jdk下的jni.h和jni_md.h加入到工程中去
   <5>Create a c++ file, implements the native method. as follows:
//TestNative.cpp
#include "TestNative.h"
JNIEXPORT jint JNICALL Java_TestNative_Max
  (JNIEnv * a, jclass b, jint x, jint y)
{
 return x > y ? x : y;
}

备注: 
A  其中的jni.h通常在 jdk\include\ 可以先拷贝到VC安装目录下的include目录下.一劳永逸,以后可以方便使用JNI技术. 
B  全部的数据类型需要考虑Java和VC的接口问题.用jint  jstring 等. 
C  函数名称和自动生成的.h文件中规定的一致.命名规则是: Java_使用类_方法名  
6. 全编译一下VC++工程. 
  如果没有出错,则此时生成动态链接库成功. 
  把动态链接库VCdll.dll拷贝到TestNative.java所在的目录上. 
7.运行java TestNative. OK :-) 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lenhan12345/archive/2009/09/24/4590321.aspx
分享到:
评论

相关推荐

    Java调用DLL例子

    本示例以"Java调用DLL例子"为主题,使用了JNative库作为接口来实现Java调用本地动态链接库。 JNative是一个开源的Java库,它提供了一种方法使得Java程序能够直接调用C/C++编写的函数,从而间接实现了调用DLL的功能...

    JAVA调用DLL方法 JAVA调用DLL方

    ### JAVA调用DLL方法 在跨平台开发领域中,Java作为一种强大的编程语言,因其具有良好的移植性和跨平台性而被广泛使用。然而,在某些特定情况下,我们可能需要调用本地库(例如DLL文件)来实现特定功能或提高性能。...

    JAVA调用C#写的DLL例子

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

    java jna 调用dll例子

    在本例中,“java jna 调用dll例子”指的是使用JNA在Java应用程序中调用Windows上的动态链接库(DLL)文件,这里特别提到了大华SDK的Dll,这通常用于处理视频流和视频播放功能。 大华SDK( Dahua Software ...

    java调用DLL:JNative

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

    JNA调用DLL完整实例demo

    在“JNA调用DLL完整实例demo”中,我们首先需要创建一个Java接口,这个接口将代表DLL中的函数。例如,如果DLL中有一个名为`recvWork`的函数,我们的Java接口可能会这样定义: ```java public interface ...

    Java中调用动态库dll的方法 源代码

    总的来说,Java调用动态库DLL主要依赖于JNI或第三方库。虽然JNI提供了更底层的控制,但设置过程较为复杂;而JNA则提供了更为方便的API,降低了门槛。在实际项目中,应根据需求和团队能力选择合适的方法。

    JNI实例 Java调用DLL c++调用Java

    首先,Java调用DLL的例子展示了如何通过JNI来利用本地资源。DLL是Windows操作系统上的动态链接库,其中包含可由多个程序共享的函数和数据。在Java中,通过JNI接口,开发者可以定义native方法,并在C或C++代码中实现...

    java调用dll实例

    Java调用DLL实例是将Java代码与C++动态链接库(DLL)进行交互的一个常见需求。JNI(Java Native Interface)是Java平台标准的一部分,它允许Java代码和其他语言写的代码进行交互,包括C、C++等。这个实例是通过JNI来...

    Java调用Dll一个例子,台半条码打印机

    ### Java调用Dll一个例子:台半条码打印机 #### 一、项目环境搭建 在开始之前,我们需要准备一些基础的开发工具与环境。 ##### 1. 准备开发工具 本例中我们使用Java编辑器NetBeans IDE 6.8来构建这个示例程序。...

    java调用dll获取硬盘序列号

    本文将深入探讨如何使用Java调用DLL(动态链接库)来获取硬盘序列号。 首先,我们需要理解DLL的本质。DLL是Windows操作系统中的一个重要组成部分,它包含了一系列可重用的函数和资源,可以被多个程序同时调用。在...

    java调用c INI接口实例 调用c dll.rar

    总结,Java调用C INI接口实例以及调用C DLL,主要涉及JNI技术,通过创建头文件、编写C代码、编译DLL、加载并调用DLL,实现Java和C之间的通信。在实际开发中,这可以帮助我们充分利用已有的C/C++资源,同时需要注意跨...

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

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

    java调用dll

    Java调用DLL是Java编程中一个重要的跨平台技术,它允许Java程序与本地操作系统的一些功能进行交互,这些功能通常由动态链接库(DLL)提供。本文将深入探讨如何在Java中实现DLL调用,以及利用开源包jacob来简化这一...

    qt编译通过的java调用c的例子,100%通过测试

    这个项目提供了一个例子,演示了如何使用Qt库构建一个C++动态链接库(DLL),然后通过Java的JNI(Java Native Interface)来调用这个DLL中的函数。下面我们将深入探讨这个过程中的关键知识点。 首先,我们要了解**...

    java调用dll/com组件word excel使用jawin架包

    Java调用DLL或COM组件是跨平台编程中的一个常见需求,尤其是在Windows环境下处理Office文档时。标题中的"java调用dll/com组件word excel使用jawin架包"涉及到的技术点主要包含以下几个方面: 1. **Java Native ...

    Java JNI例子-创建DLL、项目导入DLL、IDEA配置JNI、JNI调用DLL(该DLL同时依赖第三方DLL)

    Java JNI例子-创建DLL、项目导入DLL、IDEA配置JNI、JNI调用DLL(该DLL同时依赖第三方DLL)

    jna调用dll完成demo实例, 超简单

    5. **运行和测试**:现在你可以编译并运行你的Java程序,它会调用DLL中的`addNumbers`函数,并打印出结果。 这个简单的Demo展示了JNA调用DLL的基本流程。在实际应用中,你可能需要处理更复杂的类型转换,如结构体、...

Global site tag (gtag.js) - Google Analytics