zoukankan      html  css  js  c++  java
  • jna调用c编写的dll

    我们团队目前开发的产品是用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
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    长连接与短连接
    服务器配置tomact service
    数据库权限表设计
    VPS搭建离线下载服务器——后网盘时代
    Unix socket的准备(一)
    LeetCode 650
    C++11获取线程的返回值
    柔性数组成员——不定长的数据结构
    看懂类图——UML类图基础
    Java类初始化顺序
  • 原文地址:https://www.cnblogs.com/isap/p/10372464.html
Copyright © 2011-2022 走看看