java 中调用C的函数

近来,公司在做卡的一个项目上需要加密之类的,所以需要java中调用c的函数,所以才研究了一下,参考了网上一些例子,自己也试了试,给出例子如下:

java 类 

package com.lzg;
public class Test {
    static {
        System.loadLibrary("swdes");
    }

    public native static String GenCvv(String psCardNo, String psExpiry, String psServiceCode);

    /**
     * 
     * @param args
     * @author lzg
     * @time 2013-3-29 下午3:57:26
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        GenCvv("123", "1312", "1234");
    }

}



然后需要编译为class

javac Test.java
然后编译为.h文件

javah -classpath 工程的class路径 com.lzg.Test

然后就可以得到.h文件,你需要将.h文件交给c的同学,他们进行开发,然后生成出来.so或者.dll文件,你放入到java 中进行调用(待完善)

原文地址:https://www.cnblogs.com/javawebsoa/p/2989542.html