请问以下JAVA说明应该怎样 *** 作关于调用dll的.谢谢了,大神帮忙啊

请问以下JAVA说明应该怎样 *** 作关于调用dll的.谢谢了,大神帮忙啊,第1张

因为你装载的库(dll)的路径是lib/CamelTTS,而你的dll放在lib下,当然是不可以的 有以下几种修改方式: 1:把dll放到lib/CamelTTS目录下 2:把SystemloadLibrary("lib/CamelTTS");改成把SystemloadLibrary("lib"); 3:什么也不要改,在运行的时候用命令java -Djavalibrarypath=lib tryTTS

使用jna或jni,但是最好先使用javah命令自己编译头文件,然后去调用

public class A{

static {

SystemloadLibrary("ShowPWD");//DLL名称

}

public static native String display(String in,int i);//这里是动态库中的方法名字

}

要么用jna也可以,我看你上面的方法格式,最好使用jna,要用jni的话比较麻烦呢,要用到dll套dll的做法

具体怎么 *** 作我就不啰嗦,额,百度上多得很,具体怎么做自己查,需要的话,我给你做个例子,HI我

先定义接口,接口中的方法与dll中的对应,然后加载dll文件,接着对应调用其中的方法即可。

例子:

加载dll如下(假设你的dll放在F盘dll目录下,名称为:abcdll):

则:IDllInterfaces INSTANCE = (IDllInterfaces)NativeloadLibrary("F:\\dll\\abc", IDllInterfacesclass);

接着调用方法:

INSTANCEUDP_SetDoorAccountInfoStrSingle();

有问题欢迎提问,,THX!

简单的你会写,那就好办,直接上代码

public interface TestAPI extends StdCallLibrary {

    interface LoginReply extends StdCallCallback {

        /

          登录回调

         /

        void invoke(String userId, long retCode, String retMsg);

    }

    /

      注册一个登录回调方法此方法是dll提供的

     /

    void RegisterLoginReply(LoginReply loginReply);

}

/

  实现登录回调方法

 /

private class LoginReplyCallBack implements TestAPILoginReply {

    @Override

    public void invoke(String userId, long retCode, String retMsg) {

        loginfo("登录回调方法:{},{},{}", userId, retCode, retMsg);

    }

}

// 设置登录回调

apiRegisterLoginReply(loginReplyCallBack);

以上就是关于请问以下JAVA说明应该怎样 *** 作关于调用dll的.谢谢了,大神帮忙啊全部的内容,包括:请问以下JAVA说明应该怎样 *** 作关于调用dll的.谢谢了,大神帮忙啊、怎么在java中调用dll中的方法、Java调用dll中函数dll文件对方已提供等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9823201.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存