码迷,mamicode.com
首页 > 其他好文 > 详细

jna调用c编写的dll

时间:2019-02-14 00:28:29      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:library   百度   原创   使用   static   sys   java   net   public   

我们团队目前开发的产品是用java语言编写的,大家都知道,java编写的代码随便都可以被反编译,导致别人可能会看到你“裸奔”的样子。所以,为了避免这种安全隐患,团队最终商定,将部分核心代码改用c语言编写,封装为dll,再由java调用。

于是乎,我们就开始jna初探。今天通过各种百度,终于做了个例子出来,在此做个记录,以备后路之需。

1、构造一个dll

由于本机的vs2015没有安装c++模块,所以采用Dev-C++开发,具体步骤如下:

1.1、新建项目,选择DLL,C项目

 技术图片

1.2、删除自动生成的代码文件,编写一个简单的函数

 技术图片

1.3、编译项目,生成dll

 技术图片

2、通过jna调用dll

2.1、在java项目中加入jna依赖

       <dependency>
            <groupId>com.sun.jna</groupId>
            <artifactId>jna</artifactId>
            <version>3.0.9</version>
        </dependency>

2.2、编写调用类

public class DllTest {

    public interface CLibrary extends Library {
        CLibrary INSTANCE = (CLibrary) Native.loadLibrary("cDll2", CLibrary.class);

        String hello();
    }

    public static void main(String[] args) {
        String result = CLibrary.INSTANCE.hello();

        System.out.println(result);
    }
}


注意:dll可以使用绝对路径

到此,样例代码编写完成,一个简单的dll,一个简单的jna调用,欧了。
---------------------
作者:tobearc
来源:CSDN
原文:https://blog.csdn.net/tobearc/article/details/87215315
版权声明:本文为博主原创文章,转载请附上博文链接!

jna调用c编写的dll

标签:library   百度   原创   使用   static   sys   java   net   public   

原文地址:https://www.cnblogs.com/isap/p/10372464.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!