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

JAVA调用DLL简单小例子

    博客分类:
  • java
阅读更多

1、总体说明:
实现一个函数,传入整形数i,返回值i*i,这个函数做在DLL中,java将通过JNI调用这个函数,传入一个参数,得到返回值。
确定DLL的名称为calldll.dll,函数shanfei(int i)。

2、编写java程序javacall.java,如下:
public class javacall
{
        static
        {
                System.loadLibrary("calldll";
        }
       
        public native static int shanfei(int i);
       
        public static void main(String[] args)
        {
                javacall jc = new javacall();
                int j;
                j = jc.shanfei(4);
                System.out.println(j);
        }
}

3、编译
javac javacall.java

4、生成头文件
javah javacall
生成javacall.h文件

5、制作VC++动态库
建立新DLL工程,程序中添加:

#include "javacall.h"

JNIEXPORT jint JNICALL Java_javacall_shanfei (JNIEnv *, jclass, jint p)
{
        int j = p*p;
        return j;

别忘了将javacall.h复制到VC工程目录中,然后编译,如果编译说找不到jni.h文件,可以将jni.h复制到工程目录中,还可将javacall.h文件中的#include <jni.h>改为#include "jni.h",再编译。

6、java调用
将生成的calldll.dll文件复制到javacall.java所在的目录中,运行
java javacall,应该可以看到运行结果。

分享到:
评论

相关推荐

    JAVA调用DLL方法 JAVA调用DLL方

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

    JAVA调用C#写的DLL例子

    下面是一个简单的例子,演示如何使用 JAVA 调用 C# 编写的 DLL 文件。 首先,我们需要在 C# 中创建一个 DLL 项目,并在其中编写我们的代码。我们可以使用 Visual Studio 创建一个新的 ClassLibrary 项目,并在其中...

    Java调用DLL例子

    本示例以"Java调用DLL例子"为主题,使用了JNative库作为接口来实现Java调用本地动态链接库。 JNative是一个开源的Java库,它提供了一种方法使得Java程序能够直接调用C/C++编写的函数,从而间接实现了调用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)来进行调用,但这往往涉及到复杂的配置和繁琐的过程。为了...

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

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

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

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

    JNA调用DLL完整实例demo

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

    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调用c INI接口实例 调用c dll.rar

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

    java调用dll获取硬盘序列号

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

    java调用dll

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

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

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

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

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

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

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

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

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

    java调用c的经典例子

    java调用c、c++,运用java.librarys("*.dll")文件,实现java调用c/c++

Global site tag (gtag.js) - Google Analytics