JAVA调用DLL

原创 2006年06月06日 09:24:00

JAVA调用DLL
1. 新建一个JAVA类,写一些方法,用来对应dll的方法:

public class InvokeDll
{
static
{
    System.loadLibrary("Dll2Java");
}
public native static boolean function(int para);

}

2. javac编译JAVA文件

javac InvokeDll.java

3. javah生成头文件

javah InvokeDll

->InvokeDll.h

头文件内容:
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class InvokeDll */

#ifndef _Included_InvokeDll
#define _Included_InvokeDll
#ifdef __cplusplus
extern "C" {
#endif
/*
 * Class:     InvokeDll
 * Method:    function
 * Signature: (I)Z
 */
JNIEXPORT jboolean JNICALL Java_InvokeDll_function
  (JNIEnv *, jclass, jint);

#ifdef __cplusplus
}
#endif
#endif

4.建立新DLL工程(这个DLL相当于中介),添加jni.h和InvokeDll.h 到VC项目中

CPP文件:
#include <stdlib.h>
#include <stdio.h>
#include <jni.h>
#include "InvokeDll.h"
JNIEXPORT jboolean JNICALL Java_InvokeDll_function(JNIEnv *, jclass, jint para)
{
 //可以使用JNIEnv中的方法
 //可以调用其他DLL方法
}
5.编译CPP。

几种java调用dll的方式

Java调用DLL有多种方式,常用的方式有JNative、JNA、JNI等。
  • a491857321
  • a491857321
  • 2016年05月26日 09:53
  • 26422

JNI java调用动态链接库dll

#include #include JNIEXPORT void JNICALL JAVA_ConDll_open(JNIEnv *env,jobject obj);          生成的头文件...
  • lishuangzhe7047
  • lishuangzhe7047
  • 2015年05月28日 22:19
  • 8013

Java调用dll之64bit篇

Java调用dll之64bit篇 在64bit系统下调用32bit的Dll必须使用x86的JDK,这是由于64bit/32bit dll不能混合调用,而x64JDK默认调用64位 dll所致,...
  • jiayp004
  • jiayp004
  • 2013年01月07日 14:58
  • 5054

java中调用dll文件的两种方法

一中是用JNA方法,另外是用JNative方法,两种都是转载来的, JNA地址:http://blog.csdn.net/shendl/article/details/3589676   JNativ...
  • jimmy609
  • jimmy609
  • 2014年02月11日 14:30
  • 51380

JNA:JAVA调用DLL 超详细代码实战

0  JNA安装 0.1 JNA是什么 JNA(JavaNativeAccess)框架是一个开源的Java框架,是SUN公司主导开发的,建立在 经典的JNI的基础之上的一个框架。 JNA项目地...
  • gcangle
  • gcangle
  • 2013年01月15日 11:19
  • 54521

Java调用DLL动态链接库的方案

使用Java调用DLL动态链接库的方案通常有三种:JNI, Jawin, Jacob,JNA. 其中JNI(Java Native Interface)是Java语言本身提供的调用本地已编译的函数库的...
  • iamherego
  • iamherego
  • 2015年08月26日 15:41
  • 2644

Eclipse中java项目调用DLL

Eclipse中java项目调用DLL学习笔记 java工程路径:D:\workspace vc 工程路径D:\workspace_c JDK路径:D:\jdk1.6.0_23 1、创建jav...
  • wyx713510713
  • wyx713510713
  • 2014年08月02日 11:31
  • 2546

JavaWeb项目中调用dll动态链接库

介绍 先简单介绍下遇到的问题,需要在web页面中增加身份证内的头像图片。头像图片已经通过身份证采集器采集并存储在Oracle数据库的blob中。但是存储的二进制数据是经过身份证采集器加密过,解码需要调...
  • chengxm123
  • chengxm123
  • 2017年01月07日 13:45
  • 2959

Java通过JNI调用C++的DLL库

Java通过JNI调用C++程序, 在VS2015实现。
  • jia20003
  • jia20003
  • 2016年09月28日 19:15
  • 2538

Java调用C#dll全过程

Java调用C#dll全过程 Java调用默认邮件程序(Windows live mail & IBM Lotus)的同时加上附件 目录                          ...
  • truelove12358
  • truelove12358
  • 2013年08月13日 12:06
  • 4003
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA调用DLL
举报原因:
原因补充:

(最多只允许输入30个字)