使用JNI调用dll(C++)
简单说下业务背景,有一个用C++写的加密算法(据说速度快),需要用JAVA来调用,并将值展示在页面。这块内容网上一搜一大堆,给个别人写的教程,非常详细,照着做,可以实现一个DEMO,传送门。
但是,这仅仅只是一个DEMO,在实际应用中,应该怎么做。
dll文件的位置
网上说法是将调用的dll放在tomcat的bin目录下,但是在实际生产中,我们希望能将调用的dll文件放在工程里,这样,就不会对环境产生依赖。
废话不多说,直接上代码。
public class CallThirdDll {
public native String callThirdDll(String str, int mode);
//这是大多数的作法,但是dll必须放在java.library.path目录
/*static {
//这里只需要写上你生成