[英]Where can I find source code of modules in `lib-dynload`?
许多内置库尽可能使用C实现。
例如,如果可用, heapq
使用lib-dynload/_heapq.so
。
我在哪里可以找到像_heapq
这样的模块的源代码?
3.3版本中许多C模块的代码:
http://hg.python.org/cpython/file/3.3/Modules
直接链接到heapq源:
http://hg.python.org/cpython/file/3.3/Modules/_heapqmodule.c
要查看任何版本的CPython的代码,请访问:
将3.3替换为3.2,2.3,无论旧版本如何。 如果你知道你在寻找什么,你也可以明确地输入一个hg版本号而不是一个major.minor版本。
C模块主要位于Modules
子目录中,每个Modules
通常名为foo.c
或foomodule.c
,而Python库位于Lib
子目录中,名为foo.py
对于heapq
,实际的heapq
模块是Python( Lib/heapq.py
),但它使用名为_heapq
( Modules/_heapqmodule.c
)的C模块。
当然你也可以下载源代码。 在http://python.org的首页上有最新的2.x和3.x版本的“Source Distribution”的“快速链接”,或者您可以单击“下载”以获取所有其他版本。 正如您所期望的那样,您可以在http://hg.python.org上看到相同的结构。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.