• 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、运行如下:

     资源下载:https://download.csdn.net/download/LongtengGensSupreme/85109897

     
  • 相关阅读:
    网站微信登录-python 实现
    最终还是迁移到github
    理解 python 装饰器
    Git 学习之 Git Basics
    haskell 常用 函数
    jinja 2 filter 使用
    目标的牵引作用
    姨妈去世了
    OKR的理解
    无法证明的事情,和梦又有什么区别呢
  • 原文地址:https://www.cnblogs.com/1175429393wljblog/p/16129423.html
Copyright © 2020-2023  润新知