Java动态调用链接库dll文件

Java动态调用链接库dll文件

因为项目需要,用到了java调用dll文件中的方法。写成dll文件大多是用C语言弄成的,对于我这个纯粹干java的人员来说,着实让我太为难了。唉,也就是说我编程底子没有搭好,惭愧。要是这些语言我都会些,也不至少让我了解并应用这个技术花了很长时间。如果调用的dll是32位的,JDK版本也要32位才能调用,也就是说32位的JDK只能调用32位的dll文件,64位的JDK只能调用64位的dll文件。

下面说一下在Java Web项目中如何调用dll文件,Java调用外部dll文件主要是JNative开源框架技术。

1、首先,在web项目中添加JNative.jar文件

2、如果web项目是用tomcat服务器的话,需要在lib目录添加JNative.jar文件

3、调用函数,需要的动态调用的dll文件放在项目目录中

1)、首先创建JNative对象:

JNative jnative = new JNative(dll文件名, 函数名);

2)、设置返回值类型:

jnative.setRetVal(Type.INT);

3)、设置参数

jnative.setParameter(0, Type.STRING, …); //设置第一个参数为字符串

jnative.setParameter(1, Type.INT, String.valueof(…)); //设置第二个参数为整数

4)、执行

n.invoke();

5)、获取返回值

Integer.parseInt(jnative.getRetVal());

Java动态调用链接库dll文件相关教程

java 项目加载dll文件,Java动态调用链接库dll文件相关推荐

  1. java配置文件工具类,java项目加载配置文件的工具类

    java项目加载配置文件的工具类 package com.loadproperties; import java.io.IOException; import java.io.InputStream; ...

  2. java 项目加载dll文件,在eclipse java项目中加载dll文件

    我正在尝试将文件sqljdbc_auth.dll添加到项目库中.我将包含dll的文件夹添加为外部类文件夹. 在这里,我基本上尝试使用Microsoft提供的SQL驱动程序连接到我的SQL SERVER ...

  3. java 滚动加载数据_[Java教程]浏览器滚动条快到底部时自动加载数据

    [Java教程]浏览器滚动条快到底部时自动加载数据 0 2015-11-30 15:00:44 1 2 3 4 5 6 ");24 main.append(" hello worl ...

  4. python什么模块动态调用链接库_python如何调用扩展模块

    楔子 我们知道python的执行效率不是很高,而且由于GIL的原因,导致python不能充分利用多核CPU.一般的解决方式是使用多进程,但是多进程开销比较大,而且进程之间的通信也会比较麻烦.因此在解决 ...

  5. python什么模块动态调用链接库_Python调用C/C++动态链接库的方法详解

    本文以实例讲解了Python调用C/C++ DLL动态链接库的方法,具体示例如下: 示例一: 首先,在创建一个DLL工程(本例创建环境为VS 2005),头文件: 1 2 3 4 5 6 7 8 9 ...

  6. python什么模块动态调用链接库_python 动态调用模块、类、方法(django项目)

    需求:近一段时间基于django框架,开发各业务层监控代码,每个业务的监控逻辑不同,因此需要开发监控子模块,动态的导入调用. 项目名称:demo_django App:common_base.moni ...

  7. 动态调用链接库(dll) 续

    20141118 最近一周做了一个关于仓库管理,拣货任务分配的模块,其中涉及到刷卡自动打印领取任务的功能点. 技术点: C#调用C++.delphi的动态链接库.动态链接库的调用方法不同.效果也不相同 ...

  8. java spring包_java 自定义加载器,加载spring包,动态加载实现,jar包隔离,tomcat加载webapp方式...

    java 自定义加载器,加载spring包,动态加载实现,jar包隔离,tomcat加载webapp方式 发布时间:2018-08-20 12:02, 浏览次数:774 , 标签: java spri ...

  9. java web 加载类_Java中用ClassLoader载入各种资源(类、文件、web资源)的方法

    lassLoader主要对类的请求提供服务,当JVM需要某类时,它根据名称向ClassLoader要求这个类,然后由ClassLoader返回这个类的class对象. ClassLoader负责载入系 ...

最新文章

  1. 在CentOS 6.6 64bit上升级GCC到4.8.2版本
  2. 三态模型-引起进程状态转换的具体原因
  3. java jdk下载过慢 解决方案
  4. Cracer渗透视频课程学习笔记——漏洞分析
  5. Android programming on Mac 之安装Eclipse
  6. 文件上传java逻辑_Java 文件上传 实例
  7. 读书笔记之 数据框操作与常用函数
  8. php srem,Redis Srem 命令
  9. 2019php面试题
  10. Windows 定时关机命令
  11. 「 Matlab 」矩阵运算讲解
  12. 小松鼠短视频完美开源源码
  13. 中国脑计划颠覆性创新之路六,用互联网与脑科学构建新AI系统模型
  14. SD卡无法格式化的原因分析
  15. 安卓系统7.1搭建Xposed环境
  16. 谷歌浏览器无法使用谷歌翻译解决办法
  17. 猜数字游戏c语言提示范围,【游戏编程】猜数字游戏(C语言)
  18. visual studio进入时许可证已过期解决方案
  19. 和月薪5W的华为程序员聊过后,才知道自己一直在打杂...
  20. Amazon Studios预订获奖喜剧《了不起的麦瑟尔夫人》第四季

热门文章

  1. 灰狼优化(GWO)算法的8种中文变体(含MATLAB代码)
  2. Swift-贝赛尔曲线画扇形、弧线、圆形、多边形——UIBezierPath实现App下载时的动画效果
  3. Java读取文件为字符串方法
  4. 【2023最新】超详细图文保姆级教程:App开发新手入门(2)
  5. Django配置大全
  6. 下载安装包到本地,安装等
  7. php不等于指定数字,php – 为什么bcmul返回的数字与我指定的数字不同?
  8. foreach 里面使用bcmul或者直接运算符出现结果不正常,触发情景未知,有大佬知道请请留意告知
  9. 王者荣耀服务器维护5.3,王者荣耀3月5日更新修复5个bug 王者荣耀bug修复介绍
  10. 解决Android 9 无法连接网络问题