java 中调用C的函数

2014-11-24 11:54:45 · 作者: · 浏览: 20

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

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


[java]
package com.lzg;

package com.lzg;
[java] v
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");
}

}

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 中进行调用(待完善)