ba1yu 2022-03-28 16:21 采纳率: 33.3%
浏览 59

java调用dll接口问题

楼主没调用过dll接口,所以在网上看了一些demo,还是有一些问题
我是先将dll文件放在了resources下面
然后将照着网上的一些教程写的 代码如下
业务函数通过调用 BLT_RemoteCall 函数实现
import com.sun.jna.Library;
import com.sun.jna.Native;


public interface CLibrary extends Library {
    CLibrary INSTANCE = Native.loadLibrary("bltremotecall.dll", CLibrary.class);
    //下面这段代码我看网上的代码是写dll对应的方法名,那么问题来了我这个应该怎么写
    String BLT_RemoteCall();
}

调用的时候我就挺迷茫的 如下图

img

img

图1的method参数是填方法名 下面是我的调用方法请各位看看有没有问题
    @Test
    public void testVixHz_InitSDK() {
        CLibrary.INSTANCE.BLT_RemoteCall("123","123","123","123","getenums.department","123");
    }

上面的getenums.department是方法名请问有问题吗 ? 还有就是图1的BSTR是什么东西
  • 写回答

3条回答 默认 最新

  • 於黾 2022-03-28 16:24
    关注

    动态调用搞不定,你就静态调用啊,直接在项目引用里添加dll,然后就跟你自己本身封装好的函数一样用就好了
    动态调用就需要写反射,你没写过反射肯定会遇到一大堆问题

    评论

报告相同问题?

问题事件

  • 创建了问题 3月28日