2023-01-20 309
我正在尝试创建用于使用swig的字节[]的Java实现.
swig:
%include "typemaps.i"
%apply(char *STRING, int LENGTH) { (char *buff, int len) };
%inline {
typedef struct {
char* buff;
int len;
} workit_t;
}
在我生成的Java类(workit_t.java)中,参数buff是字符串,而不是字节[].
java:
public void setBuff(String value){
...
}
我在SWIG定义中做错了什么?
当我编写一个没有结构的简单SWIG定义时,我会得到所需的参数类型.
swig:
%include "typemaps.i"
%apply(char *STRING, int LENGTH) { (char *buff1, int *len1) };
java:
public static void Mathit(byte[] buff1, byte[] buff2) {
...
}
好吧,我已经能够做对了.
之前:
%include "typemaps.i"
%apply(char *STRING, int LENGTH) { (char *buff, int len) };
%inline {
typedef struct {
char* buff;
int len;
} workit_t;
}
现在:
%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;
}
或:
%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;
}
以上所述是小编给大家介绍的Swig:将Java中的字节数组传递给C语言,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/26088.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态