如何把JAVA文件变成DLL文件

目录

1、java的安装和配置
2、java文件的编写及编译
3、ikvm安装和使用
4、dll文件使用补充说明

1、java安装和配置

下载jdk-6u2-windows-i586-p.exe
java安装目录:
C:\Program Files (x86)\Java\jdk1.6.0_02
操作系统添加环境变量:
JAVA_HOME: C:\Program Files (x86)\Java\jdk1.6.0_02
Classpath添加: ;%JAVA_HOME%\lib\tools.jar

2、java文件的编写及编译

java文件的编写

Java文件保存格式位utf-8格式,用sublime text工具,去除中文字符

命令行下把java文件生成class文件

Java文件放到C:\Program Files (x86)\Java\jdk1.6.0_02\
命令行(管理员权限登陆)
.\javac.exe   AESUtil.java ,如下图:

在这里插入图片描述

把所有class文件放到test文件夹下,打包

  命令行(管理员权限登陆)
 .\jar.exe cvf test.jar -C Test/ ,如下图:

在这里插入图片描述

3、ikvm安装和使用

安装ikvm

到官网http://www.ikvm.net/上下载 ikvmbin-7.2.4630.5

将java的jar包转换为.dll控件

使用的命令:ikvmc -out:IKVM.dll test.jar
 其中IKVM.dll为将要生成的.dll控件文件名;test.jar为之前打包好的jar包文件。

4、dll文件使用补充说明

 如果你的java类比较复杂,需要将所有.dll库文件添加到引用才不会报错。
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Java中生成DLL文件,需要使用Java Native Interface(JNI)。JNI是Java平台的一部分,它允许Java代码与本地代码(如C或C++)进行交互。 以下是生成DLL文件的基本步骤: 1. 编写C或C++代码,并将其编译为动态链接库,也就是DLL文件。 2. 在Java中编写本地方法声明。本地方法是指Java代码中声明的方法,它的实现在本地代码中。 3. 在Java中加载DLL文件,并将本地方法与DLL文件中的函数关联起来。 4. 在Java中调用本地方法。 下面是一个简单的例子,说明如何在Java中生成DLL文件: 1. 编写C代码,将其保存为hello.c文件: ``` #include <stdio.h> #include "HelloJNI.h" JNIEXPORT void JNICALL Java_HelloJNI_sayHello(JNIEnv *env, jobject thisObj) { printf("Hello from C!\n"); return; } ``` 2. 使用C编译器将hello.c文件编译为动态链接库hello.dll: ``` gcc -Wl,--add-stdcall-alias -I"%JAVA_HOME%\include" -I"%JAVA_HOME%\include\win32" -shared -o hello.dll hello.c ``` 3. 在Java中编写本地方法声明,将其保存为HelloJNI.java文件: ``` public class HelloJNI { static { System.loadLibrary("hello"); // 加载生成的dll文件 } private native void sayHello(); // 声明本地方法 public static void main(String[] args) { new HelloJNI().sayHello(); // 调用本地方法 } } ``` 4. 在命令行中使用javac编译HelloJNI.java文件: ``` javac HelloJNI.java ``` 5. 运行程序: ``` java HelloJNI ``` 程序将输出“Hello from C!”,表示本地方法成功调用了DLL文件中的函数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值