java调用dll

一、编写一个类文件

        package com.wilbur.dll

        public class Calculator{
            public static native double add(double x,double y);
            public static native double substract(double x,double y);
        }

二、生成.h文件
cmd进入java项目下的bin目录
javah -jni com.wilbur.dll.Calculator
目录下会出现com_wilbur_dll_Calculator.h的头文件

三、编写.cpp实现

VC6.0新建Win32 Dynamic-Link Library
引入com_wilbur_dll_Calculator.h
新建.cpp,并实现.h文件的方法,并编译
会出现错误无法找到jni.h 和 jni_md.h
把%JAVA_HOME%\include\jni.h和%JAVA_HOME%\include\win32\jni_md.h 复制到 VC6.0安装目录下的
include文件夹中,重新编译.cpp,会在VC项目下的debug文件夹中生成对应的.dll文件

四、dll文件调用
copy生成的.dll文件至java项目中

package com.wilbur.dll

public class DllClient{
    //首先加载动态链接库(需要绝对路径)
    static{
        System.load(".......dll");
    }

    public static native double add(double x,double y);
    public static native double substract(double x,double y);

    public static void main(String[] args){
        System.out.println(add(1,2));
        System.out.println(substract(1,2));         
    }
}

你可能感兴趣的:(java,dll)