能向接口里面传值吗?

用JNA在Java中调用DLL时,需要定义一个接口来与DLL里面的方法对应,有如下类似的代码:

 


 

public interface CallDll extends Library {

   CallDll call = (CallDll) Native.loadLibrary("C:\\tools.dll", CallDll.class);

 

   ...

}


 

红色部分,即DLL文件的名称。我使用的是绝对路径,是可以加载到的。但现在这个路径需要动态变化,

关键是JNA要通过接口来调用DLL,不方便传值进去,如何能做到?

 

你可以把这个路径放在一个工具类里面
[code="java"]
public static String LOCATION = "c:\tools.dll";
[/code]

调用接口方法之前把这个 LOCATION 赋一下值就可以了