广告
返回顶部
首页 > 资讯 > 精选 >java调用相互依赖的dll的处理方法是什么
  • 166
分享到

java调用相互依赖的dll的处理方法是什么

2023-06-29 00:06:44 166人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关java调用相互依赖的dll的处理方法是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、问题描述最近在做一个功能时遇到java需要调用dll,并且dll有依

这篇文章将为大家详细讲解有关java调用相互依赖的dll的处理方法是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

    一、问题描述

    最近在做一个功能时遇到java需要调用dll,并且dll有依赖关系,之前都是单独调用一个,其实调用dll的都是模板代码,本身没有太高的难度,主要是相互依赖的还是第一次碰见,特此记录一下并分享给需要的朋友参考。

    二、处理办法

    其中A是dll方法的入口,A依赖B,C,D,E,F,G五个dll,先定义接口继承StdCallLibrary ,编写加载各个dll的模板代码,需要依赖的都全部加载进来,我这儿是A依赖了B,C,D,E,F,G六个dll,所以我这里共写了六个接口,来分别加载不同的dll,主要是因为StdCallLibrary不支持加载多个dll,如果支持的话就不用写多个了,废话不多说直接上代码:

    2.1 类定义

    import com.sun.jna.Native;import com.sun.jna.win32.StdCallLibrary;public class DllLoadClass {public interface A extends StdCallLibrary {String dllName = "dllv2/A";A INSTANCE = Native.load(dllName,A.class);public String a(String inString); }public interface B extends StdCallLibrary {String dllName = "dllv2/B64";B INSTANCE = Native.load(dllName,B.class);}public interface C extends StdCallLibrary {String dllName = "dllv2/C64";C INSTANCE = Native.load(dllName,C.class);}public interface D extends StdCallLibrary {String dllName = "dllv2/D64";D INSTANCE = Native.load(dllName,D.class);}public interface E extends StdCallLibrary {String dllName = "dllv2/E64";E INSTANCE = Native.load(dllName,E.class);}public interface F extends StdCallLibrary {String dllName = "dllv2/F64";F INSTANCE = Native.load(dllName,F.class);}public interface G extends StdCallLibrary {String dllName = "dllv2/G64";G INSTANCE = Native.load(dllName,G.class);}}

    2.2 调用

    上边虽然是定义出来了,那么怎么调用或者使用呢?调用其实也很简单,都定义出来了之后,其实就是需要咱们把依赖都加载进来即可,咱们仍然是直接上代码:

    public class Test {@SuppressWarnings("unused")public static void main(String[] args) {B b = DllLoadClass.B.INSTANCE;C c = DllLoadClass.C.INSTANCE;D d = DllLoadClass.D.INSTANCE;F f = DllLoadClass.F.INSTANCE;G g = DllLoadClass.G.INSTANCE;A a = DllLoadClass.A.INSTANCE;String result = a.a("");}}

    原理就是调用一下成员变量,让其加载进来即可。

    关于java调用相互依赖的dll的处理方法是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

    --结束END--

    本文标题: java调用相互依赖的dll的处理方法是什么

    本文链接: https://www.lsjlt.com/news/321653.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • java调用相互依赖的dll的处理方法是什么
      这篇文章将为大家详细讲解有关java调用相互依赖的dll的处理方法是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、问题描述最近在做一个功能时遇到java需要调用dll,并且dll有依...
      99+
      2023-06-29
    • java调用相互依赖的dll的处理方法
      目录一、问题描述二、处理办法2.1 类定义2.2 调用三、结语一、问题描述 最近在做一个功能时遇到java需要调用dll,并且dll有依赖关系,之前都是单独调用一个,其实调用dll的...
      99+
      2022-11-13
    • python文件互相调用的方法是什么
      在Python中,文件之间可以互相调用的方法有以下几种:1. 使用import语句:可以在一个文件中使用import语句导入另一个文...
      99+
      2023-09-25
      python
    • SpringBoot项目依赖管理的方法是什么
      Spring Boot项目的依赖管理方法有以下几种: Maven:使用Maven作为构建工具,可以在项目的pom.xml文件中定...
      99+
      2023-10-27
      SpringBoot
    • Android View与Compose互相调用的方法是什么
      这篇文章主要讲解了“Android View与Compose互相调用的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android View与Compose互相...
      99+
      2023-07-05
    • php服务器内互相调用的方法是什么
      在PHP服务器内,互相调用的方法有以下几种:1. 直接调用:在一个PHP文件中,可以直接调用另一个PHP文件中的函数或方法。通过在调...
      99+
      2023-08-08
      php
    • springboot多个service互相调用的事务处理方法
      本文小编为大家详细介绍“springboot多个service互相调用的事务处理方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“springboot多个service互相调用的事务处理方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢...
      99+
      2023-06-29
    • javascript两个函数相互调用防止死循环的方法是什么
      这篇文章主要介绍“javascript两个函数相互调用防止死循环的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“javascript两个函数相互调用防止死循环的方法是什么”文章能帮助大家解...
      99+
      2023-07-05
    • java ffmpeg调用的方法是什么
      Java中调用FFmpeg的方法是使用Java的外部命令执行功能来执行FFmpeg命令。 可以使用Java的ProcessBuild...
      99+
      2023-10-23
      java ffmpeg
    • golang调用java的方法是什么
      在Go语言中调用Java方法可以通过使用Go的Java调用库,例如gojni或gojava。这些库允许Go代码与Java代码进行交互...
      99+
      2023-10-27
      java golang
    • java调用golang的方法是什么
      Java调用Golang的方法通常使用CGO(C语言调用Go函数)技术实现。CGO是Go语言提供的一种机制,允许Go代码与C/C++...
      99+
      2023-10-20
      golang java
    • java调用kotlin的方法是什么
      在Java中调用Kotlin方法与调用Java方法类似,需要使用Kotlin类的实例来调用方法。但是在Java中调用Kotlin方法...
      99+
      2023-08-16
      java kotlin
    • P/Invoke之C#调用动态链接库DLL的方法是什么
      这篇文章主要介绍了P/Invoke之C#调用动态链接库DLL的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇P/Invoke之C#调用动态链接库DLL的方法是什么文章都会有所收获,下面我们一起来看看吧...
      99+
      2023-07-05
    • Java异步调用的方法是什么
      这篇文章主要讲解了“Java异步调用的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java异步调用的方法是什么”吧!一、创建线程@Testpublic void&nbs...
      99+
      2023-06-27
    • java跨类调用的方法是什么
      在Java中,跨类调用方法有两种常用的方式:1. 实例化对象调用:通过创建对象的方式实例化一个类,然后通过该对象调用该类的方法。例如...
      99+
      2023-08-15
      java
    • JAVA的声音处理方法是什么
      这篇文章主要介绍“JAVA的声音处理方法是什么”,在日常操作中,相信很多人在JAVA的声音处理方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JAVA的声音处理方法是什么”的疑惑有所帮助!接下来,请跟...
      99+
      2023-06-03
    • Java异常处理的的方法是什么
      本篇内容主要讲解“Java异常处理的的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java异常处理的的方法是什么”吧!1) 为可恢复的错误使用检查型异常,为编程错误使用非检查型错误。...
      99+
      2023-06-16
    • mysql相关的错误问题处理方法是什么
      这篇文章主要讲解了“mysql相关的错误问题处理方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql相关的错误问题处理方法是什么”吧! ...
      99+
      2022-10-19
    • C#调用Dll传递字符串指针参数的方法是什么
      本篇内容主要讲解“C#调用Dll传递字符串指针参数的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#调用Dll传递字符串指针参数的方法是什么”吧!最近用c#写一个小软件,要调用VC写...
      99+
      2023-06-26
    • java后台调用接口及处理跨域问题的方法是什么
      这篇“java后台调用接口及处理跨域问题的方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“java后台调用接口及处理...
      99+
      2023-07-06
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作