最近项目里使用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" & ...
随机推荐
-
DataSet客户端分页实现
window.$ClientPageHelper=function(fromDs,toDs){ var pageSize=toDs.get('pageSize'); var elist=fromDs. ...
-
服务器&;域名那些事儿
购买的阿里云的服务器(ECS)和域名 请移步: 服务器&域名那些事儿 服务器&域名那些事儿2 github 博客
-
jQuery学习记录1
jquery 和 js css里面都是坑呀 this.style.backgroundColor 和 css {background:#8df;} 是冲突的,用了前者,再$(this).addClas ...
-
awk简明教程
我在这里的教程并不想面面俱到,全是示例,基本无废话. 我只想达到两个目的: 1)你可以在乘坐公交地铁上下班,或是在坐马桶拉大便时读完(保证是一泡大便的工夫). 2)我只想让这篇博文像一个火辣的脱衣舞女 ...
-
JavasScript基数排序
基数排序 91, 46, 85, 15, 92, 35, 31, 22经过基数排序第一次扫描之后, 数字被分配到如下盒子中:Bin 0:Bin 1: 91, 31Bin 2: 92, 22Bin ...
-
A*算法(八数码问题)
#include <iostream> #include <cstring> #include <vector> #include <cmath> #i ...
-
python基础课程_学习笔记15:标准库:有些收藏夹——fileinput
标准库:有些收藏夹 fileinput 重要功能 性能 叙述性说明 input([files[,inplace[,backup]]) 便于遍历多个输入流中的行 filename() 返回当前文件的名称 ...
-
javascript 事件流的应用之 addEventListener
原始需求:防止按钮短时间内高频率触发点击事件,由于重复提交导致的业务异常. 图: demo: <!DOCTYPE html> <html lang="en" di ...
-
[Winform]setupfactory打包时添加开机自启动的脚本
摘要 如果有这样的需求,需要软件开机自启动,该如何做呢?开机自启动的做法,就是修改注册表,将你的exe注册到注册表Run节点下. setupfactory 在安装的时候需要以管理员身份运行,这样可以保 ...
-
logstash向elasticsearch写入数据,如何指定多个数据template
之前在配置从logstash写数据到elasticsearch时,指定单个数据模板没有问题,但是在配置多个数据模板时候,总是不成功,后来找了很多资料,终于找到解决办法,就是要多加一个配置项: temp ...