java调用C或者C++动态库dll
2022/4/11 14:13:13
本文主要是介绍java调用C或者C++动态库dll,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
java调用C或者C++动态库dll,本文章使用的是IntelliJ IDEA Community Edition 2021.2.3版本测试的
1、新建项目 linjie.demo,添加类HelloLinjie
2、选择项目---新建----目录,输入libs,回车,新建根目录下libs成功,然后把需要的jar包-jna.jar拷贝到libs中
3、然后导入本地jna.jar Jar 包(java调用C或者C++动态库dll 需要的jar包---jna.jar)
选择 文件--项目结构
选择 项目结构-----库--- + 选择java,然后选择路径中的libs找到需要添加的jar包,选中,点击应用,确定
选择 项目结构-----模块--- + 选择需要添加的jar包,选中,点击应用,确定
4、选择src ,右键新建java类,输入MyDll,选择接口,然后引用jna.jar中api,import com.sun.jna.Library,import com.sun.jna.Native,加载需要的DLLT.dll(java调用C或者C++动态库dll,64位的dll,32位的需要安装对应的jre即可)
package linjie.demo; import com.sun.jna.Library; import com.sun.jna.Native; /** * 功能简述 *java调用C或者C++动态库dll,64位的dll * @author yangsx * @version 1.0.0 * @date 2021-09-07 */ public interface MyDll extends Library { //1、动态库拷贝到Java工程目录下 //MyDll mydll = (MyDll) Native.loadLibrary("DLLT.dll",MyDll.class); //2、动态库拷贝不在Java工程目录下,指定绝对路径 MyDll mydll = (MyDll) Native.loadLibrary("G:\\测试\\64\\DLLT.dll",MyDll.class); int add(int a,int b);//c或者c++中的方法 }
5、main方法中内容如下:
public static void main(String[] args) { System.out.println("java调用C或者C++动态库dll,64位的dll"); int add = linjie.demo.MyDll.mydll.add(1, 2); System.out.println("MyDll.mydll.add:"+add); System.out.println("java调用C或者C++动态库dll,64位的dll"); }
6、运行如下:
这篇关于java调用C或者C++动态库dll的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?
- 2024-05-09企业src漏洞挖掘-有意思的命令执行
- 2024-05-08阿里云域名注册流程,分享给第一次购买域名的新手站长!