Java 调用Dll
Java 中怎么能调用到dll中的函数呢?
关键是java中生的本地函数名参数和dll中的本地函数名参数一模一样。
这个程序是java中调用dll中的求和函数。
一,java代码部分操作
1.新建工程
2.DllTest.java代码
package com.aizizai.calldll; public class DllTest { static { System.loadLibrary("hellodll"); } public static native int sum(int a, int b); public static void main(String[] args) { System.out.println("sum(2,5) = " + sum(2, 5)); } }
3. 生成头文件
Java调用dll测试\src>javac com/aizizai/calldll/DllTest.java
Java调用dll测试\src>javah com.aizizai.calldll.DllTest
1. 创建项目
新建项目--> vc++ --> win32项目 --> 命名为hellodll -->应用程序类型:dll -->ok。
2. 添加头文件
a. 把
/jdk/include/jni.h
/jdk/include/win32/jawt_md.h
/jdk/include/win32/jni_md.h
拷到项目目录下或者Vs的include目录下。
b. stdafx.h中添加
#include "com_aizizai_calldll_DllTest.h"
3. 在源文件中添加函数实现
// hellodll.cpp : 定义 DLL 应用程序的导出函数。 // #include "stdafx.h" JNIEXPORT jint JNICALL Java_com_aizizai_calldll_DllTest_sum (JNIEnv *env, jclass ss, jint a, jint b){ return a+b; }
4. 生成dll
生成 ---> 生成dll。
即可在项目的Debug目录下看到,hellodll.dll文件
三,使用
把dll文件拷到 c:\windows目录下,运行java程序。ok。
程序下载地址:http://download.csdn.net/detail/u012587637/8065041
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。