Python论坛  - 讨论区

标题:[python-chinese] limodou你的pyrex文章我看不懂

2004年09月23日 星期四 16:18

梅劲松  stephen.cn at gmail.com
Thu Sep 23 16:18:43 HKT 2004

最好给两个例子吧。
我现在要写一个c扩展的程序,他们只有c写的dll的连接库。
有方法和事件。我想用pyrex来实现。但是你的文章我看得太高深了。
我想知道pyrex写的程序如何编译,pyrex如何安装。有没有写的程序我可以测试一下我的开发环境或者其他的资料。

谢谢了。

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2004年09月23日 星期四 16:31

limodou limodou at gmail.com
Thu Sep 23 16:31:28 HKT 2004

其实我的文章基本上是阅读笔记,是我看pyrex的文章记录下来的。
使用pyrex来扩展现有的C库,首先要有相应的.h头文件和.a库文件,这样才可以编译。然后写一个pyrex文件,后缀一般是.pyx文件名。具体的例子我没有,因为只是学习,而且我只做过直接用python语句来函数,再做成扩展。不过,在pyrex的安装包中有例子。还有就是pyrex上有一个简单的教程,就是讲如何将一个已经存在的C库做成python的扩展库的,一步一步的实现。

不过,我看你提到的是DLL,因此如果使用pyrex的话,应该要不使用.lib库,这是vc格式的,要不使用.a库,这是gcc格式的,光有dll还不行。

但现在还有一个模块叫ctypes,可以直接调用dll库的,而且win32api模块也可以做这些事情。如果只是使用,可以使用这两个东西来做一做。

使用ctypes与win32api与使用pyrex的区别就是前两个只是一个调用,做出来东西应该是纯python的模块,而不是扩展库。但使用pyrex则一定是扩展库了。但在windows下光有dll还是不行的,还要.h,
.a或.lib才可以编译。

pyrex 的主页:http://www.cosc.canterbury.ac.nz/~greg/python/Pyrex/
教程也在首页上有,一下子就可以看见。


On Thu, 23 Sep 2004 16:18:43 +0800, 梅劲松 <stephen.cn at gmail.com> wrote:
> 最好给两个例子吧。
> 我现在要写一个c扩展的程序,他们只有c写的dll的连接库。
> 有方法和事件。我想用pyrex来实现。但是你的文章我看得太高深了。
> 我想知道pyrex写的程序如何编译,pyrex如何安装。有没有写的程序我可以测试一下我的开发环境或者其他的资料。
> 
> 谢谢了。
> 
> 
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 
> 
> 



-- 
I like python!

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号