「java结束dll」java结束运行的代码

博主:adminadmin 2023-01-10 06:51:06 673

今天给各位分享java结束dll的知识,其中也会对java结束运行的代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

怎么结束在Java中运行的一个DLL的进程

我用TerminateProcess确实能够结束javaw进程,不过只要开eclipse,就有有两个相同名字的javaw.exe在运行,很难区别。

后来发现问题的根本在DLL程序里面解构函数没有停掉后台运行的进程。

java调用DLL动态库

1、总体说明:实现一个函数,传入整形数i,返回值i*i,这个函数做在DLL中,java将通过JNI调用这个函数,传入一个参数,得到返回值。

确定DLL的名称为calldll.dll,函数shanfei(int i)。2、编写java程序javacall.java,如下:public class javacall

{

static

{

System.loadLibrary("calldll");

}

public native static int shanfei(int i);

public static void main(String[] args)

{

javacall jc = new javacall();

int j;

j = jc.shanfei(4);

System.out.println(j);

}

}3、编译javac javacall.java4、生成头文件javah -jni javacall

生成javacall.h文件5、制作VC++动态库建立新DLL工程,程序中添加:#include "javacall.h"

JNIEXPORT jint JNICALL Java_javacall_shanfei (JNIEnv *, jclass, jint p)

{

int j = p*p;

return j;

}别忘了将javacall.h复制到VC工程目录中,然后编译,如果编译说找不到jni.h文件,可以将jni.h复制到工程目录中,还可将javacall.h文件中的#include jni.h改为#include "jni.h",再编译。

编译生成DLL文件如“test.dll”,名称与System.loadLibrary("test")中的名称一致

vc的编译办法:cl -I%java_home%include -I%java_home%includewin32 -LD com_hode_hodeframework_modelupdate_CheckFile.c -Fetest.dll

最后在运行时加参数-Djava.library.path=[dll寄存的路径]

相关的主题文章: 6、java调用将生成的calldll.dll文件复制到javacall.java所在的目录中,运行java javacall,应该可以看到运行结果。

怎样用JAVA调用DLL?

1. 编写范例文档

public class TestNative

{

private native static int Max(int a,int b);

public static void main(String[] args)

{

System.out.println(Max(4,5));

}

static

{

System.loadLibrary("VCdll");

}

}

其中

LoadLibrary中的DLL文件名称可以随便定.只要做好的动态链接库改名成这个字符串就可以了.而native函数的来源就是该动态链接库.

2. 做好该步准备以后,用javac TestNative.java生成TestNative.class. 检验语法.

3. 语法检查通过以后,用javah TestNative生成TestNative.h的C++头文件.

4. 用VC++6.0创建dll文件:

1msdev-new-project-win32 Dynamic-Link Library

2Enter project name (e.g. VCdll)

3choose "An empty DLL project"-finish

4将3生成的TestNative.h和jdk下的jni.h和jni_md.h加入到工程中去

5Create a c++ file, implements the native method. as follows:

//TestNative.cpp

#include "TestNative.h"

JNIEXPORT jint JNICALL Java_TestNative_Max

(JNIEnv * a, jclass b, jint x, jint y)

{

return x y ? x : y;

}

备注:

A 其中的jni.h通常在 jdk\include\ 可以先拷贝到VC安装目录下的include目录下.一劳永逸,以后可以方便使用JNI技术.

B 全部的数据类型需要考虑Java和VC的接口问题.用jint jstring 等.

C 函数名称和自动生成的.h文件中规定的一致.命名规则是: Java_使用类_方法名

6. 全编译一下VC++工程.

如果没有出错,则此时生成动态链接库成功.

把动态链接库VCdll.dll拷贝到TestNative.java所在的目录上.

7.运行java TestNative. OK :-)

java如何释放dll的写法

1、打开腾讯电脑管家找到工具箱;

2、打开工具箱找到“ 电脑诊所”

3、 打开电脑诊所后在右上角的搜索内输入dlL找到需要修复的文件后点击一键修复或者可以点击详情查看原因并点击立即修复。

java结束dll的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java结束运行的代码、java结束dll的信息别忘了在本站进行查找喔。