我需要从我的模块中调用Python函数并为其设置两个参数:int和array。在

现在我在调用这个函数的时候遇到了segfault,我不知道我做错了什么。有人能指出我的错误在哪里吗?在

函数在我的Python模块中应用程序副本. 如果我从Python代码调用它,它会起作用:def get_model(rate, signal):

mfcc_train = MFCC().compute(rate, signal)

with open('mfcc_test', 'wb') as f:

pickle.dump(mfcc_train, f)

return clf()._fit(mfcc_train)

调用上面函数的C代码。最后一个春天是“打电话前”

^{pr2}$

UPD:更新代码,其中一个问题已修复。但另一个问题仍然存在。它在PyObject* pSamples = PyArray_SimpleNewFromData(1, dims, NPY_INT8, (void*)samples);行。我也不知道是怎么回事。在

和wav.h以防万一:#include

#include

#include

#include

#include

#include

typedef struct {

char chunk_id[4];

uint32_t chunk_size;

char format[4];

char fmtchunk_id[4];

uint32_t fmtchunk_size;

uint16_t audio_format;

uint16_t num_channels;

uint32_t sample_rate;

uint32_t byte_rate;

uint16_t block_align;

uint16_t bps;

char datachunk_id[4];

uint32_t datachunk_size;

}WavHeader;

WavHeader *header;

void wavread(char *file_name, int16_t **samples)

{

int fd;

if (!file_name)

errx(1, "Filename not specified");

if ((fd = open(file_name, O_RDONLY)) < 1)

errx(1, "Error opening file");

if (!header)

header = (WavHeader*)malloc(sizeof(WavHeader));

if (read(fd, header, sizeof(WavHeader)) < sizeof(WavHeader))

errx(1, "File broken: header");

if (strncmp(header->chunk_id, "RIFF", 4) ||

strncmp(header->format, "WAVE", 4))

errx(1, "Not a wav file");

if (header->audio_format != 1)

errx(1, "Only PCM encoding supported");

if (*samples) free(*samples);

*samples = (int16_t*)malloc(header->datachunk_size);

if (!*samples)

errx(1, "Error allocating memory");

if (read(fd, *samples, header->datachunk_size) < header->datachunk_size)

errx(1, "File broken: samples");

close(fd);

}

pythonint函数的参数_向嵌入的Python函数传递两个参数(int和array)相关推荐

  1. python 函数调用 不允许关键字参数_你所不知道的Python|函数参数的演进之路

    原标题:你所不知道的Python|函数参数的演进之路 函数参数处理机制是Python中一个非常重要的知识点,随着Python的演进,参数处理机制的灵活性和丰富性也在不断增加,使得我们不仅可以写出简化的 ...

  2. pthread_create如何传递两个参数以上的参数

    参考文章:pthread_create如何传递两个参数以上的参数 后更...

  3. python函数装饰器参数 参数_【转】python 装饰器功能以及函数参数使用

    之前学习编程语言大多也就是学的很浅很浅,基本上也是很少涉及到装饰器这些的类似的内容.总是觉得是一样很神奇的东西,舍不得学(嘿嘿).今天看了一下书籍.发现道理还是很简单的. 简单的说:装饰器主要作用就是 ...

  4. python数据参数_零基础学习python数据分析——函数的参数

    原标题:零基础学习python数据分析--函数的参数 上一节课中我们讲了python的函数定义,Python的函数定义非常简单,但灵活度却非常大.除了正常定义的必选参数外,还可以使用默认参数.可变参数 ...

  5. shell调用python脚本传递命名关键字参数_关于python:将字典作为关键字参数传递给函数...

    我想使用字典在python中调用函数. 这是一些代码: d = dict(param='test') def f(param): print(param) f(d) 这打印{'param': 'tes ...

  6. seq生成序列-f参数_使用seq()函数在R中生成序列

    seq生成序列-f参数 Generating a sequence in R using the function seq() is vital and has many uses in data a ...

  7. python map函数返回类型_使用map和lambda函数发送两个参数并返回两个值

    因为您说您只需要一个模型,而不是每个值都需要一个新模型,所以这相当简单.更改:hnd = map(lambda (valua): function_f(valua), list_value) 致:mo ...

  8. python在匿名函数作和_跟光磊学Python开发-匿名函数函数和高阶函数

    跟光磊学Python开发-匿名函数函数和高阶函数 跟光磊学Python开发-匿名函数函数和高阶函数跟光磊学Python开发 匿名函数 匿名函数就是函数定义时没有名字的函数,也称为匿名表达式. 普通函数 ...

  9. python定义匿名函数关键字_Python(11):Python函数基础(定义函数、函数参数、匿名函数)...

     函数先定义函数,后调用 一.定义函数: 1.简单的规则: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 (). 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数. ...

最新文章

  1. 线段树POJ3468(成段更新,区间求和)
  2. python进程join的用法_python 进程介绍 进程简单使用 join 验证空间隔离
  3. php框架快速入门,php-laravel4.0框架 简单快速入门
  4. 百度邀您来听一场云存储的大戏!
  5. 20200806:Java拓扑排序实现力扣210课程表Ⅱ
  6. Cocos-2d 关于SwallowTouch,进一步解释触摸事件分发机制
  7. 【机器学习】萌新必学的 Top10 算法
  8. 8.1 Zend_View(2)
  9. hplus java,HPlus(H+) 后台管理模板带文档V 4.1.1-完整版
  10. temp不停生成临时文件 win10_Win10系统安装软件提示不能创建临时文件安装中止如何解决...
  11. QTTabBar我装好啦!
  12. 小时候很喜欢看的一些卡通片的主题曲(绝对经典)
  13. 苹果手机怎么无线投屏?苹果手机无线投屏到电脑
  14. word-目录突然无法更新解决方法
  15. 搜狗输入法5.0_注意!月活超5亿的搜狗输入法向用户电脑植入病毒
  16. Up in the Air-16
  17. 程序员五一被拉去相亲,结果彻底搞懂了HTTP常用状态码
  18. 华为数字化转型之道 实践篇 第八章 数字化交易:让做生意简单、高效
  19. 分布式Session共享和单点登录实现
  20. 常用传感器讲解十七--簧片开关传感器(KY-036)

热门文章

  1. java int转bitmap_Java Base64位编码与String字符串的相互转换,Base64与Bitmap的相互转换实例代码...
  2. java激光推送ios_关于ios极光推送server端注意的地方
  3. paypal创建订单后怎么获得id_5步创建Facebook商店(最新版教程)学习如何在Facebook上卖货...
  4. android驱动测试,Android: 通过 cucumber 驱动 monkey 做稳定性测试
  5. 依赖 netty spring_十分钟带你了解Spring的七大知识点,程序员必了解
  6. 华为笔记本会不会用鸿蒙,华为MateBook Pro笔记本为什么不用鸿蒙操作系统HarmonyO?...
  7. java.lang.class_关于Java.lang.Class的一些疑问
  8. linux怎么添加头文件目录下,linux下编写c++,include的那些头文件在什么地方?
  9. redis内存淘汰和持久化_redis 持久化
  10. 从Maven中央仓库网站下载jar包的两种方式,将会伴随java后端开发者的整个职业生涯