天天看點

JAVA 調用dll

package com.safein.main;

import com.sun.jna.Library;
import com.sun.jna.Native;

public class Test {

   public interface CLibrary extends Library{  
          //接口執行個體  
          CLibrary INSTANCE = (CLibrary)Native.loadLibrary("cbtest.dll",CLibrary.class);  
//          CLibrary INSTANCE = (CLibrary)Native.loadLibrary("dllTest.dll",CLibrary.class);  
//          CLibrary INSTANCE = (CLibrary)Native.loadLibrary("Win32ProjectTest.dll",CLibrary.class);  

//          int add(int a,int b);  
          String hello();
      }  


      public static void main(String[] args) {  

//        System.setProperty("jna.encoding", "GBK");  
           // 首先定義指針,開辟記憶體空間,這裡的記憶體空間根據傳回的字元串來決定  
//           Pointer p = new Memory(1024) ;  

//           System.out.println(CLibrary.INSTANCE.add(1,2));
        System.out.println(CLibrary.INSTANCE.hello());;
//        CLibrary.INSTANCE.hello();

//           for(int i=0, sumi=11; i< sumi; i++){  
//               System.out.print((char) p.getByteArray(0, 11)[i]);  
//           }  
//           System.out.println("\n");  
      }  
}