2017-01-27 55 views
1

从Java调用Corelis Jtag USB-1149.1_1E的DLL方法时遇到困难,尽管我可以从labview调用它。 在Corelis用户指南scan_multiple中有五个参数。但data_in是一个返回值,因此,我不认为它应该是一个参数/输入。 我应该如何在Java中构建我的scan_Multiple()?有多少个参数?在Java中调用Jtag DLL方法(scan_multiple)

文件:

int scan_Multiple(const long n_commands,const unsigned long *method,const unsigned short *data_out,unsigned long *bit_length,unsigned short *data_in) 

代码:

public class HelloWorld { 

    public native int scan_Multiple(long n1, long n2, short n3, long n4, short n5); 

    // private native void print(); 
    public static void main(String[] args){ 
     System.loadLibrary("usb1e_sfl_x64"); 
     HelloWorld sample = new HelloWorld(); 
     System.out.println("test1"); 
     long n1 = 1000; 
     long n2 = 1000; 
     short n3 = 2; 
     long n4 = 2; 
     short n5 = 2; 
     System.out.println(n1 + " " + n2 + " " + n3); 
     int test222 = sample.scan_Multiple(n1,n2,n3,n4,n5); 
     System.out.println("test2" + n1 + n2 + n3 + n4 + n5 + test222); 
     // usb1e_sfl_x64 sample = new usb1e_sfl_x64(); 
     // int test = sample.scan_multiple 
    } 
    static{ 
     // System.loadLibrary("usb1e_sfl_x64"); 
    } 
} 

回答

0

尝试用类包装

Short n5; 

这样的参数将通过引用传递到盒DATA_IN,并应具有开启功能返回所需的数据。