Swig: pass byte array in Java to C

大城市里の小女人 提交于 2019-12-05 20:26:14

Well, I have been able to get it right.

Before:

%include "typemaps.i"
%apply(char *STRING, int LENGTH) { (char *buff, int len) }; 
%inline {
   typedef struct {
        char*         buff;        
        int           len;  
  } workit_t;
}

Now:

%include various.i                    
%apply char *BYTE { char *buff };  //map a Java byte[] array to a C char array
%inline {
   typedef struct {
        char*         buff;        
        int           len;  
   } workit_t;
}

Or:

%include various.i                    
%apply char *NIOBUFFER { char *buff }; //map Java nio buffers to C char array
%inline {
   typedef struct {
        char*         buff;        
        int           len;  
   } workit_t;
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!