jna调用c编写的dll
程序员文章站
2022-05-14 09:49:42
我们团队目前开发的产品是用java语言编写的,大家都知道,java编写的代码随便都可以被反编译,导致别人可能会看到你“裸奔”的样子。所以,为了避免这种安全隐患,团队最终商定,将部分核心代码改用c语言编写,封装为dll,再由java调用。 于是乎,我们就开始jna初探。今天通过各种百度,终于做了个例子 ......
我们团队目前开发的产品是用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
版权声明:本文为博主原创文章,转载请附上博文链接!
上一篇: Scrapy框架-CrawlSpider
下一篇: 微信翻译出错 腾讯:正在紧急修复中