阅 读 文 章

如何使用C来扩展python功能。

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(xichen) | 时间:2007-05-27 | 浏览:人次 ]



module1 = Extension('add', sources = ['add.c']) 

setup (name = 'PackageName', version = '1.0', description = 'This is a demo package', ext_modules = [module1]) 
在msdos下进入这个目录,输入命令setup.py build。
如果你能编译成功,到你所在目录的build\lib.win32-2.3下会发现add.pyd文件,将文件复制到你所需要的地方,启动python,然后:

D:\c>;python
Python 2.3.3 (#51, Dec 18 2003, 20:22:39) [MSC v.1200 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>;>;>; import add
>;>;>; print dir(add)
['__doc__', '__file__', '__name__', 'add']
>;>;>; add.add(1,2)
3
>;>;>;




 jasonnbfan 回复于:2005-07-04 02:04:10

真详细,支持,最想看到类似这样的帖子.


 xichen 回复于:2005-07-04 09:13:17

谢谢支持,希望你能更快掌握python的各种技巧。
也欢迎你在这里提出你的各种问题。


 nfqx 回复于:2005-07-11 16:33:38

我怎么编译出来的结果是add.so??一个共享库???


 xichen 回复于:2005-07-12 09:10:54

如果你是在unix下,确实是so文件。
将目录下直接import就可以使用了。


 jjyoung 回复于:2005-07-13 22:14:47

赞啊,偶来来‘画蛇添足’一下:
打包分发:python setup.py sdist
作成exe:   python setup.py bdist_wininst
作成rpm:   python setup.py bdist_rpm


 xichen 回复于:2005-07-14 13:39:34

哈,非常感谢!


 pythoner 回复于:2005-07-29 08:58:17

我很谨慎的问,我可以在我的小站上转这张贴吗 :?:  :?: 
我现在对版权很敏感啊!


 hoxide 回复于:2005-07-29 10:56:08

MIT授权
转贴没问题的, 不过要保证文档完整性.


 pythoner 回复于:2005-07-30 14:51:15

文档完整性当然是可以保证,那就谢谢了!!


 wanbin 回复于:2005-08-03 22:12:22

很有帮助!


 unixer2i 回复于:2006-01-30 20:59:26

[font=宋体][size=4][color=Maroon]
楼主,我按照你给的提示实现一下, 可是在执行时报错。给我的提示是setup.py文件内setup()函数有误,没有出现add.pyd文件呀,我哪里做错了? 帮我看看,我的系统是MS WINDOWS XP+Python 2.4.2+python-mode for ntemacs
[/color][/size][/font]


 converse 回复于:2006-02-04 11:41:29

个人认为自己这样写python扩展只适用于函数,变量比较少的时候,如果要大规模的导入的话我觉得swig比较好用的说....


 xichen 回复于:2006-02-05 10:28:46

unixer2i 我是在xp+vc6.0+python 2.3 下做的。2。4没有测试过。
converse python来使用C扩展的话,并不需要大量的使用函数。每个扩展就是一个功能,一个模块,一个对象。即使C程序是需要进行复杂运算的庞大程序,输入条件也是很少的。高楼大厦也是靠砖块间的少量水泥粘合起来的。
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 功能 扩展 使用 如何 这个 python 函数 add 回复 一个

最新评论 共有2位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.