发布时间:2013-08-21 15:22:48
上一篇中我们在python端的做法是每次读取一个数据块,然后将这个数据块传递进C扩展模块中去,但对于目标文件的数据写入是在C扩展模块中完成的,但其实可以更面向对象一点,不是吗?原来outfp是一个文件指针,不如改成一个从Python中传递一个文件对象到C模块里去,这个文件对象有自己的write方法,这样在C扩展模.........【阅读全文】
发布时间:2013-08-21 15:21:43
上一篇里的LAME项目已经展示了python如何与C语言交互,但程序仍不够理想,在python这一端仅仅是传递源文件和目标文件的路径,再调用C模块的encode方法来进行编码,但问题在于你无法控制encode函数,比如你想编码的源文件如果不是原始数据,而是wav文件或者其他格式呢?对于这个问题,有两种方法可以选择,一种模仿前面.........【阅读全文】
发布时间:2013-08-21 15:20:42
上一篇中我们已经了解如何在Python程序和C模块之间进行值的相互传递,现在我们来进入实作阶段,看看如何将一个C语言开发的开源mp3编解码库LAME包装为一个Python下可以使用的扩展模块。首先去http://lame.sourceforge.net/download.php下载LAME的源代码,然后切换到root用户编译源代码,<!.........【阅读全文】
发布时间:2013-08-21 15:19:21
作者:洞庭散人出处:http://phinecos.cnblogs.com作者:洞庭散人出处:http://phinecos.cnblogs.com/ 作者:洞庭散人出处:http://phinecos.cnblogs.com/ 作者:洞庭散人出处:http://phinecos.cnblogs.com/ 在上一篇中我们已经使用c语言实现了一个最简单的扩展模块,这一篇中将在.........【阅读全文】
发布时间:2013-08-21 15:16:28
作者:洞庭散人出处:http://phinecos.cnblogs.com/ 使用C语言扩展Python(一) 开发环境:Ubuntu9.10,python2.6,gcc4.4.11,ubuntu下的python运行包和开发包是分开的,因此需要在新利得里面安装python-all-dev,从而可以在代码中引用python的头文件和库。2.下面是一个最简.........【阅读全文】