Java调用dll动态库
最近项目里使用java调用dll动态库,因此研究了一下这方面的东西。
使用的工具包如下
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>5.2.</version>
</dependency>
调用方法也很简单
public class Main {
public static void main(String[] args) {
String url = "http://********.htm?";
String czqhnm = "0000000000";
String dwbm = "05301";
String ywlx = "000020";
String codeno = "001";
String msg = CLibrary.INSTANCE.getCheckCode(czqhnm, dwbm, ywlx, codeno);
url = url + "czqhnm=" + czqhnm + "&dwbm=" + dwbm + "&ywlx=" + ywlx + "&codeno=" + codeno + "&" + msg;
System.out.println(url);
}
public interface CLibrary extends Library {
// FS_CheckCode是动态库名称,前面的d://test//是路径
CLibrary INSTANCE = (CLibrary) Native.loadLibrary("d://test//FS_CheckCode", CLibrary.class);
// 我们要调用的动态库里面的方法。
String getCheckCode(String czqhnm, String dwbm, String ywlx, String codeno);
}
}
Java调用dll动态库的更多相关文章
- java使用JNA框架调用dll动态库
这两天了解了一下java调用dll动态库的方法,总的有三种:JNI.JNA.JNative.其中JNA调用DLL是最方便的. ·JNI ·JNA ·JNative java使用 JNI来调用dll动态 ...
- 应用程序调用dll动态库,参数有vector时崩溃的问题
引用:http://blog.csdn.net/guoliushui/article/details/43017339 今天跟同事遇到了一个问题,问题背景: 一个动态库Tst.dll: 一个应用程序A ...
- linux下java调用.so动态库方法2: JNA
摘自:http://blog.csdn.net/todorovchen/article/details/21319033 另请参见: http://blog.sina.com.cn/s/blog_8c ...
- JNI_Android项目中调用.so动态库
JNI_Android项目中调用.so动态库 2014年6月3日 JNI学习 參考:http://blog.sina.com.cn/s/blog_4298002e01013zk8.html 上一篇笔者 ...
- Java调用C/C++实现的DLL动态库——JNI
由于项目的需要,最近研究了java 调用DLL的方法,将如何调用的写于此,便于日后查阅: 采用的方法是JNI:Java Native Interface,简称JNI,是Java平台的一部分,可用于让J ...
- java调用dll或so动态库文件(c++/c)
java调用dll或so动态库文件(c++/c) 博客分类: 工作 CC#C++JavaEclipse java调用dll或so动态库文件(c++/c)开发平台:Eclipse3.3.1.1+CD ...
- Java通过jna调用c++动态库
1 环境准备 操作系统:windows 10,x64 jna,jna-4.4.0.jar c++开发环境,vc2013 java开发环境,eclipse,jdk8 2 dll开发 通过vc2013创建 ...
- C#调用C++动态库(dll)
在实际软件开发过程中,由于公司使用了多种语言开发,在C#中可能需要实现某个功能,而该功能可能用其他语言已经实现了,那么我们可以调用其他语言写好的模块吗?还有就是,由于C#开发好的项目,我们可以利用re ...
- Golang调用windows下的dll动态库中的函数
Golang调用windows下的dll动态库中的函数 使用syscall调用. package main import ( "fmt" "syscall" & ...
随机推荐
- having 的使用
.用一条SQL 语句 查询出每门课都大于80 分的学生姓名 name kecheng fenshu 张三 语文 张三 数学 李四 语文 李四 数学 王五 语文 王五 数学 王五 英语 select n ...
- mysql 数据库的数据类型
- Java基础语法入门01
Java基础语法入门01 学习java你要先进行去了解JDK,JRE,JVM JDK Java开发工具包 JRE Java语言开发的运行环境 JVM Java虚拟机,用于Java语言的跨平台所用. 当 ...
- YOLO V3 错误总结
问题1 TypeError: function takes exactly 1 argument (3 given) 报错说PIL库中的函数只接收到一个参数,应该给三个,自己在这里记录下解决方法,出错 ...
- 管理npm源命令
nrm ls 查看源镜像 nrm add 自定义名称 源地址 nrm use 自定义名称
- python摸爬滚打之day28----黏包处理
1.缓冲区和subprocess模块 1.1 缓冲区( 当send()内容超过输入缓冲区大小或recv()接收内容超过输出缓冲区大小时旧版本(py3.5以前)是会直接报错的, py3.5以后如果出错 ...
- MongoDB - 2
Aggregation Framework: $project: a document stream by renaming, adding, or removing fields #alter Da ...
- CentOS下软件安装与卸载常用命令总结
最近在折腾CentOS 7操作系统,主要是下载安装文件以及解决各项依赖问题,现对此过程中用到的有效的CentOS命令进行汇总总结. 1. 安装与卸载软件:yum.rpm.wget命令 首先,在Cent ...
- 【托业】【怪兽】TEST03
101. engage [ɪnˈgeɪdʒ] v.参与 102. toner [ˈtəʊnə(r)]n.碳粉匣 103. surveillance [sɜ:ˈveɪləns]n.监控 105. i ...
- Vue.js——快速入门Vuex
一. 什么是Vuex? Vuex是一个专门为Vue.js应用程序开发的状态管理模式, 它采用集中式存储管理所有组件的公共状态, 并以相应的规则保证状态以一种可预测的方式发生变化. 上图中绿色虚线包裹起 ...