关闭

JAVA调用DLL

标签: javadllfunctionclassheaderfile
1852人阅读 评论(0) 收藏 举报
分类:

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。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:131710次
    • 积分:1295
    • 等级:
    • 排名:千里之外
    • 原创:14篇
    • 转载:26篇
    • 译文:0篇
    • 评论:10条
    最新评论