java调用dll实例,java调用dll例子

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文件:

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

<2>Enter project name (e.g. VCdll)

<3>choose "An empty DLL project"->finish

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

<5>Create 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应用中需要在程序中调用Java编译器来编译和运行。但在早期的版本中(Java SE5及以前版本)中只能通过tools.jar中的com.sun.tools.javac包来调用Java编译器,但由于tools.jar不是标准的Java库,在使用时必须要设置这个jar的路径。而在Java SE6中为我们提供了标准的包来操作Java编译器,这就是javax.tools包。使用� ......

先看一段代码

public class Hello{

public static void main(String[] args){

int i  = 5 ,  j = 2;

System.out.println(i+j);

......

java打包-exe文件-最终以setup形式发布的解决之道

java打包-exe文件-最终以setup形式发布的解决之道

首先,将编译好的程序打包成jar文件,然后做出exe,这样代码就不可见了;但是exe文件在没有安装jre的电脑上不能运行,如果要求客户再去安装jre 设置环境变量 就不雅了。我们需要将jre打包。

这几步操作� ......

到Sun网站下载自解压安装包jdk-xxxx.bin

安装:

[root@RHEL4 JDK-1.5.0.06]# chmod +x jdk-xxxx.bin

[root@RHEL4 JDK-1.5.0.06]# ./jdk-xxxx.bin

选择安装位置,

J2SDK安装目录: /usr/local/jdk

配置Java环境变量:

在 ~/.bash_profile 里加入下列几行环境变量即可:

export JAVA_HOME=/usr/local/jdk

export PAT ......

File   f=new   File("DerectoryName");

String   []results=f.list();

import java.io.*;

public class listFile

{  &nb ......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值