大神帮忙解决下jna调用dll问题

yxlaz007 2018-05-28 05:20:15
函数说明
...全文
900 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yxlaz007 2018-05-28
  • 打赏
  • 举报
回复
调用代码 public class Fanuc0i { public static void main(String[] args) { Fwlib.Focas1.ByReference data_num=new Fwlib.Focas1.ByReference();//连接指针 IntByReference con=new IntByReference(); short oo=Fwlib.Instance.cnc_allclibhndl3("192.168.1.2",8193,5,con); short ax=Fwlib.INSTANCES.cnc_absolute(con,2,16,data_num); //short fl=Fwlib.Instance.cnc_freelibhndl(con); System.out.println(ax); //System.out.println(kk.type); } }
yxlaz007 2018-05-28
  • 打赏
  • 举报
回复
接口代码 public interface Fwlib extends Library{ public static class Focas1 extends Structure{ public short dummy; public short type; public long[] data=new long[3]; public static class ByReference extends Focas1 implements Structure.ByReference { } public static class ByValue extends Focas1 implements Structure.ByValue{ } protected List getFieldOrder() { return Arrays.asList(new String[]{"dummy", "type", "data"}); } } String v=System.getProperty("sun.arch.data.model"); Fwlib Instance=(Fwlib)Native.loadLibrary (v.equals("64")?"fwlib64":"fwlib32",Fwlib.class); Fwlib INSTANCES=(Fwlib)Native.loadLibrary (v.equals("64")?"fwlib0iD64":"fwlib0iD32",Fwlib.class); public short cnc_allclibhndl3(String ip,int port,int timeout,IntByReference FlibHndl); public short cnc_rdposition(IntByReference FlibHndl,int type,IntByReference data_num,IntByReference position); public short cnc_absolute(IntByReference FlibHndl,int axis,int length,Focas1.ByReference as); public short cnc_freelibhndl(IntByReference FlibHndl); }

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧