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);
        }
        
    
      
        
    }
    

      

  • 相关阅读:
    《深度探索C++对象模型》1
    《C++标准库》
    关于多级分类的封装
    git常用命令
    使用BigDecimal进行精确运算
    关于强制装换
    page分页
    pageContext.request.contextPath 和 request.getContextPath()
    springMVC + mybatis 搜索 分页等
    mybatis 动态sql
  • 原文地址:https://www.cnblogs.com/jiftle/p/9125434.html
Copyright © 2011-2022 走看看