Java 调用Dll
Java 中怎么能调用到dll中的函数呢?
关键是java中生的本地函数名參数和dll中的本地函数名參数一模一样。
这个程序是java中调用dll中的求和函数。
一,java代码部分操作
1.新建project
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
二,VC利用前面的头文件生成dll。本文使用的是vs2010。
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
Java 调用Dll相关推荐
- 关于java调用Dll文件的异常 %1 不是有效的 Win32 应用程序。
关于java调用Dll文件的异常 %1 不是有效的 Win32 应用程序. 参考文章: (1)关于java调用Dll文件的异常 %1 不是有效的 Win32 应用程序. (2)https://www. ...
- 关于java调用Dll文件的异常 Native library (win32-x86-64/CtrlNPCDLL.dll) not found in resource pat
关于java调用Dll文件的异常 Native library (win32-x86-64/CtrlNPCDLL.dll) not found in resource pat 参考文章: (1)关于j ...
- java dll 调用方法_关于Java调用dll的方法 | 学步园
Java语言本身具有跨平台性,如果通过Java调用DLL的技术方便易用,使用Java开发前台界面可以更快速,也能带来跨平台性. Java调用C/C 写好的DLL库时,由于基本数据类型不同.使用字节 ...
- java调用dll 指针参数_java调用c dll,指针参数和结构体参数搞定 | 学步园
终于有了比较大的成果,不过身体也累完了,昨天又去打的吊瓶,坐成铁的时候差点就晕倒在里面了,不知道什么原因,抵抗力这么差,明天放假,要在家好好休息,今天早上碰到欢欢了,她说给我做好吃的,我愿意吃她做的糖 ...
- java调用dll 指针参数_java调用c dll,指针参数和结构体参数搞定
终于有了比较大的成果,不过身体也累完了,昨天又去打的吊瓶,坐成铁的时候差点就晕倒在里面了,不知道什么原因,抵抗力这么差,明天放假,要在家好好休息,今天早上碰到欢欢了,她说给我做好吃的,我愿意吃她做的糖 ...
- java 多线程 调用 dll 出错,JAVA调用DLL异常,请高手寻找异常原因,给出解决方法...
当前位置:我的异常网» J2SE » JAVA调用DLL异常,请高手寻找异常原因,给出解决方法 JAVA调用DLL异常,请高手寻找异常原因,给出解决方法 www.myexceptions.net 网 ...
- Java 调用 C++ (Java 调用 dll)康哥手把手教你
摘要: 本文原创,转载请注明地址 http://www.cnblogs.com/baokang/p/4979243.html 因为要做点图形处理的项目,需要在Java中调用dll库,所以开发的第一步是 ...
- 关于JAVA调用dll的学习总结
首先是背景: 1.程序猿小明要使用Java程序来调用IC读卡器,由于Java没有相关方法直接调用读卡器,目前只有C或C++语言能调用读卡器的驱动来控制读卡器,因此得先使用C或C++写完操作函数,封装成 ...
- java 调用 dll 乱码_java调用c++ dll出现中文乱码
最近的开发用到了使用java调用本机动态连接库的功能,将文件路径通过java调用C++代码对文件进行操作.在调用中如果路径中包含有中文字符就会出现问题,程序运行就会中止.下面用一个小例子,来说明记录下 ...
最新文章
- vi/vim的选中/复制/粘贴命令
- 初次遇见NLP:从词向量到BERT
- ui设计现状与意义_学UI设计到底好不好?
- 田志刚:企业知识管理的知识传播
- Python 第三方模块之 NumPy - 科学计算
- python php multiprocessing,Python多进程并发(multiprocessing)用法实例详解
- Python类私有方法的陷阱
- 【随机过程】随机过程之更新过程(2)
- python中for语句的使用_对Python中for复合语句的使用示例讲解
- java nio 如何使用_Java NIO 系列教程(转)
- 英语语料库与英文写作
- Web前端学习路线笔记(六)html5
- 计算机怎么设置加密文件,电脑文件夹怎么设置密码 电脑文件夹加密的3种方法...
- 将蓝牙rssi(信号强度)转换成距离
- 关于防止游戏行为检测的几点建议技巧
- SpellBERT:预训练模型与中文拼写纠错
- 药物与生物大分子的相互关系(分子与药物以及人体关系)
- DISTINCT 多字段去重复
- 金融科技业务的云端服务
- C语言中结构体指针出现重定义,C语言结构体指针中包含结构体指针