如何解决将无界 C 数组作为 type[] 返回
在我的库的 C API 中,我有一些带有这样签名的函数
size_t get_data(unsigned char* buffer,size_t buffer_len);
// or
size_t get_float_data(float* buffer,size_t buffer_len);
此函数返回内部数组中的元素数(因此您可以将 NULL 传递给缓冲区并获得实际数组长度),buffer
是目标缓冲区,buffer_len
是 {{1 中可用元素的数量}}。
典型用法是:
buffer
我想将此函数包装在 SWIG 中以供下一个签名
size_t data_size = get_data(NULL,0);
unsigned char* data = (unsigned char*)malloc(data_size);
get_data(data,data_size);
//or
size_t float_data_size = get_float_data(NULL,0);
float* float_data = (float*)malloc(float_data_size * sizeof(float));
get_float_data(float_data,float_data_size);
用于 Java 和 C#。
如果输入无界C数组,我发现了很多示例,但找不到任何输出。 而且我不明白如何在不具体化函数名称的情况下使用 typemap 更改目标函数的签名。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。