美文网首页
java使用jna调用C++接口

java使用jna调用C++接口

作者: ManrayHsu | 来源:发表于2021-03-13 15:21 被阅读0次
    创建C++接口

    创建项目,创建动态连库


    image.png

    修改 源文件/pch.cpp

    #include "pch.h"
    #include <stdio.h>
    
    int sayHello(int a,int b) {
        printf("Hello World!");
        return a+b;
    }
    

    修改 头文件/pch.h

    #include <stdio.h>
    extern "C" _declspec(dllexport) int sayHello(int a,int b);
    
    image.png
    Java调用

    pom添加jna依赖

     <dependency>
                <groupId>net.java.dev.jna</groupId>
                <artifactId>jna</artifactId>
                <version>5.5.0</version>
            </dependency>
    

    创建CLibrary

    import com.sun.jna.Library;
    import com.sun.jna.Native;
    
    public interface CLibrary extends Library {
        //加载dll链接库
        CLibrary INSTANTCE = (CLibrary) Native.loadLibrary("D:\\develop\\git\\CPlus\\Dll1\\x64\\Debug\\Dll1.dll", CLibrary.class);
        //此方法为链接库中的方法
        int sayHello(int a,int b);
    }
    

    创建测试类

    public class Main {
        public static void main(String[] args) {
            int result = CLibrary.INSTANTCE.sayHello(2,3);
            System.out.println("sayHello的放回结果:"+result);
        }
    }
    

    运行结果

    sayHello的放回结果:5
    Hello World!
    

    相关文章

      网友评论

          本文标题:java使用jna调用C++接口

          本文链接:https://www.haomeiwen.com/subject/jpyxcltx.html