`
lihua-he
  • 浏览: 103114 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

java native 调dll

阅读更多
package com.hintsoft.pubwin.netcafe.customerservice;


public class CreateCetByCmd {
	static{ 
		System.loadLibrary("certdll");   //注意:加载动态链接库,不写扩展名,名字要与dll的文件名一样
		} 
	public native void createCertByCmd(String sCmd, String sParam);
	
	public static void main(String[] args){
		CreateCetByCmd test = new CreateCetByCmd();
		test.createCertByCmd("notepad","");
	}
}

 

 第一:编写 CreateCetByCmd.java源代码

 第二:javac CreateCetByCmd.java

 第三:javah CreateCetByCmd               生成CreateCetByCmd.h头文件

 第四:编写CreateCetByCmd.c

 第五:生成动态链接库 .dll

 第六:javac CreateCetByCmd.java

 第七:java CreateCetByCmd

 

 注意:

1、建的dll工程里一定要是.c文件。

2、一定要是release编译的dll文件,不要用debug生成的。

3、编绎选项问题,编绎选项挂了本地依赖(此种方法可能在本机上测试是成功的,但是在别人机器上就不行,切忌)

 

dll存放的位置:

     dll放到环境变量的path的任何bin目录下都是可以的。

 

 

若在本地文件夹测试dll程序是否通过,注意dll必须要与文件名方的位置一致。

例如:

java类的包名是package com.hintsoft.pubwin.netcafe.customerservice

在D:\cert\com\hintsoft\pubwin\netcafe\customerservice里面放你的java代码

dll放在com的同级目录

在cmd里面执行

d:

cd D:\cert

javac  com\hintsoft\pubwin\netcafe\customerservice\test.java

java  com.hintsoft.pubwin.netcafe.customerservice.test

如果dll没问题,这时就成功了。若报错则参照我的注意事项。

 

 

分享到:
评论

相关推荐

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

    JNA(Java Native Access)是Java平台上的一个库,它允许Java代码直接调用本机库(如DLL文件)的函数,而无需编写JNI(Java Native Interface)代码。在Spring Boot项目中集成JNA,可以方便地实现Java应用程序对DLL...

    jdpapi-native.dll

    首先,"jdpapi-native.dll"这个名字暗示了它可能是一个与Java相关的API,"jdpapi"可能代表京东平台的某种接口或者服务,而"native"则意味着它是针对特定操作系统底层编写的,可能是C++或者其他原生语言实现,这使得...

    Java调用Qt DLL

    1. **JNI(Java Native Interface)**:JNI是Java平台的标准部分,允许Java代码和其他语言写的代码进行交互。在本场景中,JNI是Java调用Qt DLL的关键桥梁。通过JNI,Java应用可以加载动态链接库(DLL),并调用其中...

    Java加载dll,导致Java进程内存泄露

    在Java中,通过Java Native Interface (JNI) 可以调用C/C++编写的动态链接库(DLL),实现Java代码与本地代码的交互。然而,这种跨语言的交互可能会带来一些特殊的问题,其中之一就是内存泄露。 Java本身具有垃圾...

    opencv4.5.1-java-jar dll.zip

    本压缩包"opencv4.5.1-java-jar-dll.zip"是针对Java开发者设计的,提供了在Java环境下使用OpenCV 4.5.1版本的必要组件。 核心知识点: 1. **OpenCV 4.5.1**:这是OpenCV的一个稳定版本,包含了众多优化和新特性,...

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

    - `Java调用C++ DLL的Java类`:这个类会声明`native`方法,并在运行时通过`System.loadLibrary`加载DLL。 - `JNI头文件`:由`javah`命令生成,定义了C++需要实现的函数原型。 - `C++源代码`:实现了JNI头文件中的...

    Java Native Interface Programmers Guide and Specification(Exp)

    Java Native Interface(JNI)是Java平台的一个重要组成部分,它允许Java代码和其他语言写的代码进行交互。这个"Java Native Interface Programmers Guide and Specification(Exp)"很可能是一份详细解释JNI编程指南...

    jna (Java Native Access)的jar包

    jna 的jar包,JNA(Java Native Access )提供一组Java工具类用于在运行期间动态访问系统本地库(native library:如Window的dll)而不需要编写任何Native/JNI代码。

    java调用C#封装的dll方法

    其中一种方案是使用Java Native Access (JNA) 来调用通过C++封装的C# DLL文件。 **步骤详解:** **1. 创建C# COM组件:** - **新建项目:** 在Visual Studio中创建一个新的类库项目,并命名为`COMTest`。 - **...

    java调用dll接口

    Java本身并不直接支持DLL调用,但可以通过一些第三方库来实现这一目标,例如Java Native Access(JNA)。 JNA是Java平台的一个开源库,它提供了直接访问操作系统原生API的能力,无需编写C代码或使用JNI(Java ...

    opencv-460.jar及opencv-java460.dll

    1. **环境配置**:首先,需要将`opencv-460.jar`添加到Java项目的类路径中,同时确保操作系统能找到`opencv_java460.dll`(对于非Windows系统,可能是.so或.jnilib文件)。 2. **导入库**:在Java代码中,通过`...

    Java调用dll实现des加密解密

    首先,为了在Java中调用DLL,我们需要一个中间层,通常是通过JNI(Java Native Interface)来实现。JNI允许Java代码直接与本地代码(如C/C++)交互。以下是一些关键步骤: 1. **编写JNI头文件**: 使用`javah`工具,...

    JAVA调用DLL方法 JAVA调用DLL方

    在Java中调用DLL文件主要通过Java Native Interface (JNI)、JAWINJNative和JNA等技术来实现。这些技术允许Java程序与本地代码进行交互,从而实现对DLL文件的调用。 #### JNI (Java Native Interface) JNI是Java...

    JAVA调用C#写的DLL例子

    在 JAVA 中,我们可以使用 JNI(Java Native Interface)来调用 C# 编写的 DLL 文件。JNI 是一个允许 JAVA 程序调用本地方法的接口。使用 JNI,我们可以在 JAVA 中调用 C# 编写的 DLL 文件,从而实现 JAVA 和 C# ...

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

    Java本身不支持直接调用DLL,但可以通过JNI(Java Native Interface)或者第三方库如JNA(Java Native Access)来实现这一功能。 首先,我们来看JNI。JNI是Java平台标准的一部分,它为Java程序员提供了一种安全、...

    JavaDll.zip

    JavaDll.zip是一个包含Java调用DLL(动态链接库)教程的压缩包,主要涉及Java的JNI(Java Native Interface)技术。JNI是Java平台标准的一部分,它允许Java代码和其他语言写的代码进行交互,其中包括调用C/C++编写的...

    JAVA JNI调用DLL完整步骤

    总结,Java调用DLL的完整步骤包括:定义Java的`native`方法,使用`javah`生成头文件,编写C/C++ DLL代码,编译DLL,最后在Java程序中调用。这个过程可能需要对JNI规范有深入理解,以及一定的C/C++编程基础。通过熟练...

    Java调用DLL源代码

    1. **定义结构体和回调函数**:JNA允许你直接在Java中定义C风格的结构体和回调函数,它们会被映射到本地内存中。 2. **定义接口**:创建一个实现了`com.sun.jna.Library`接口的Java类,该接口定义了你要调用的DLL...

    JAVA利用JNA调用DLL

    4. **Callback 机制**: JNA 还支持从本地库回调Java方法,这使得可以在本地库中调用Java实现的函数。 **JNA 调用DLL步骤** 1. **创建接口**: 创建一个Java接口,声明本地库中的函数签名。每个方法都应使用`native`...

    java native 中的C代码

    Java Native Interface(JNI)是Java平台标准的一部分,它允许Java代码和其他语言写的代码进行交互。在Java中调用C代码主要是通过JNI来实现的。这个"java native 中的C代码"主题涉及到Java程序如何利用JNI来调用本地...

Global site tag (gtag.js) - Google Analytics