广告
返回顶部
首页 > 资讯 > 后端开发 > Python >java调用相互依赖的dll的处理方法
  • 767
分享到

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

2024-04-02 19:04:59 767人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录一、问题描述二、处理办法2.1 类定义2.2 调用三、结语一、问题描述 最近在做一个功能时遇到java需要调用dll,并且dll有依赖关系,之前都是单独调用一个,其实调用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的处理方法的文章就介绍到这了,更多相关java相互依赖的dll内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

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

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

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

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

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

下载Word文档
猜你喜欢
  • java调用相互依赖的dll的处理方法
    目录一、问题描述二、处理办法2.1 类定义2.2 调用三、结语一、问题描述 最近在做一个功能时遇到java需要调用dll,并且dll有依赖关系,之前都是单独调用一个,其实调用dll的...
    99+
    2022-11-13
  • java调用相互依赖的dll的处理方法是什么
    这篇文章将为大家详细讲解有关java调用相互依赖的dll的处理方法是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、问题描述最近在做一个功能时遇到java需要调用dll,并且dll有依...
    99+
    2023-06-29
  • 基于Scala和Java方法的相互调用
    目录在Java中调用Scala的方法呢?1.首先是静态方法2. JAVA中调用Scala的方法3.Scala中的非静态方法4.Java中的调用scala中调用java方法报错在Sca...
    99+
    2022-11-12
  • springboot多个service互相调用的事务处理方法
    本文小编为大家详细介绍“springboot多个service互相调用的事务处理方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“springboot多个service互相调用的事务处理方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢...
    99+
    2023-06-29
  • Android和JavaScript相互调用的方法
    本文实例讲述了Android和JavaScript相互调用的方法。分享给大家供大家参考,具体如下: Html页面和Java代码结合的方式一般用在界面经常被更改 的情况下,可以讲...
    99+
    2022-06-06
    调用 方法 JavaScript Android
  • Android与JS相互调用的方法
    目录Android调用js的方法实现是引入一个webview用webview打开一个页面调取的JS函数。下面是JS同Android的通信,JS调用Android的函数方法。Andro...
    99+
    2022-11-12
  • springboot多个service互相调用的事务处理方式
    目录多个service互相调用的事务处理注解配置如下Spring事务调用Service和Service之间的调用原理解析多个service互相调用的事务处理 今天,想在一个servi...
    99+
    2022-11-13
  • IDEA 下 Gradle 删除多余无用依赖的处理方法
    目录简介如何使用1.引入插件2.应用插件3.使用 Gradle 进行重新载入项目4.生成报告5. 删除无用依赖特殊情况Lombok总结简介 项目中经过很久开发,会有很多当初引入后来又...
    99+
    2022-11-13
  • 如何在Java IDE中使用NPM管理数组相关的依赖?
    Java作为一门高度优化的编程语言,一直以来都是程序员们喜欢的选择之一。而随着前端技术的不断发展,JavaScript已经成为了必备的技能之一。为了满足Java开发者的需求,开发了一些能够在Java IDE中使用NPM管理数组相关的依赖的插...
    99+
    2023-09-19
    ide 数组 npm
  • python文件互相调用的方法是什么
    在Python中,文件之间可以互相调用的方法有以下几种:1. 使用import语句:可以在一个文件中使用import语句导入另一个文...
    99+
    2023-09-25
    python
  • C++和C#相互调用COM组件的方法
    本篇内容介绍了“C++和C#相互调用COM组件的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前一阵在工作中做项目的时候,遇到了COM组...
    99+
    2023-06-18
  • Android View与Compose互相调用的方法是什么
    这篇文章主要讲解了“Android View与Compose互相调用的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android View与Compose互相...
    99+
    2023-07-05
  • 浅析Node.js中使用依赖注入的相关问题及解决方法
    最近,我转向使用依赖注入来帮助理解分离代码的简单途径,并有助测试。然而,Node.js中的模块依赖Node提供的系统API,这很难判断私有依赖被恰当的使用。一般的依赖注入很难在这种情况下使用,但现在不要放弃...
    99+
    2022-06-04
    解决方法 Node js
  • php服务器内互相调用的方法是什么
    在PHP服务器内,互相调用的方法有以下几种:1. 直接调用:在一个PHP文件中,可以直接调用另一个PHP文件中的函数或方法。通过在调...
    99+
    2023-08-08
    php
  • 打包Java应用程序时如何处理Spring Path的依赖?
    Spring是一个流行的Java开发框架,它提供了许多功能强大的功能,如依赖注入和面向切面编程。但是,当我们将Spring应用程序打包为可执行的JAR或WAR文件时,可能会遇到一些问题。这些问题通常与Spring Path的依赖有关,而在...
    99+
    2023-06-14
    打包 spring path
  • Android编程使用WebView实现与Javascript交互的方法【相互调用参数、传值】
    本文实例讲述了Android编程使用WebView实现与Javascript交互的方法。分享给大家供大家参考,具体如下: Android中可以使用WebView加载网页,同时A...
    99+
    2022-06-06
    调用 方法 参数 webview JavaScript Android
  • javascript两个函数相互调用防止死循环的方法是什么
    这篇文章主要介绍“javascript两个函数相互调用防止死循环的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“javascript两个函数相互调用防止死循环的方法是什么”文章能帮助大家解...
    99+
    2023-07-05
  • 利用yarn代替npm管理前端项目模块依赖的方法详解
    本文主要给大家介绍了关于yarn代替npm管理前端项目模块依赖的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 什么是 yarn? 简单来说,yarn 是一个与 npm ...
    99+
    2022-06-04
    详解 模块 方法
  • Android Activity之间相互调用与传递参数的原理与用法分析
    本文实例讲述了Android Activity之间的相互调用与传递参数。分享给大家供大家参考,具体如下: Activity之间是如何调用的 在javaWeb程序中,jsp与js...
    99+
    2022-06-06
    调用 参数 activity Android
  • c语言处理函数调用的方法
    1. 要编译的测试代码: int plus(int x, int y) { return x + y; } int main(void) { return plus(3...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作