zoukankan      html  css  js  c++  java
  • java调用c库实例

    java由于语言限制,不能使用char*作为返回值。 局部变量的字符串不能正常返回,vc可以正常接收,java不能接收。

    c语言

    int __stdcall GetCharacterCodeJn(char* outjson, int* outjson_len)
    

      

    java语言

    package softgranttest;
    
    import java.io.File;
    import java.io.FileDescriptor;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.UnsupportedEncodingException;
    
    import com.sun.jna.Library;
    import com.sun.jna.Memory;
    import com.sun.jna.Native;
    import com.sun.jna.Pointer;
    
    public class Test {
    	
    	 // 定义接口CLibrary,继承自com.sun.jna.Library
        public interface testdll extends Library {
            testdll Instance = (testdll) Native.loadLibrary("totfranjo"  , testdll.class);
    
    
            int GetYellopCouCod(Pointer outjson_pointer,Pointer outjson_len_pointer);
            
            
        }
    
        public static void main(String[] args) throws IOException {
    
        	Test_RRROOO();
        	
        }
        
        /**
         * 特征码
         * 
         * @throws UnsupportedEncodingException
         */
        private static void Test_RRROOO() throws UnsupportedEncodingException
        {
     
            String strRet = "";
            
            Pointer outjson_pointer = new Memory(1024);
            Pointer outjson_len_pointer = new Memory(8);
            
            int nRet = testdll.Instance.GetYellopCouCod(outjson_pointer,outjson_len_pointer);
            
            int outjson_len = outjson_len_pointer.getInt(0);
            byte[] bytOutjson = outjson_pointer.getByteArray(0, outjson_len);
            
            strRet = new String(bytOutjson, "gb2312");
            
            System.out.println(strRet);
        }
        
    
      
        
    }
    

      

  • 相关阅读:
    time模块
    collection模块
    re模块
    HTML
    Java数据结构之快速排序
    Java数据结构之循环链表(与单链表比较)
    Java数据结构之单链表
    Java数据结构之队列
    Java数据结构之栈
    java数据结构之数组
  • 原文地址:https://www.cnblogs.com/jiftle/p/9125434.html
Copyright © 2011-2022 走看看