python源码剖析之 回忆(PyIntObject,PyStringObject,PyListObject,PyDictObject)思路

对象的定义,创建,死亡 -> 对象缓冲池,机制
Python-2.7.3.tgz 下载下来之后直接解压缩可以看到如下的目录结构:

这里写图片描述

Demo:Demo用的代码,主要用来展示Python的一些应用
Doc:Python的UserManual。Latex格式的
Grammar:语法文件。这个语法文件会在Python运行的时候被用来分析Python源代码
include:Python Include用的头文件
Lib:Python的库文件
Mac:For Mac
Misc:如字面意思,一些不适合放在其他地方的文件就放在这里了
Modules:Python的一些Built-in Module的实现
Objects:Python的基本内部对象的实现,比如class/list等等
Parser:Python的词法分析和语法分析
PC:比较老的Windows和OS2的Port的项目以及Port用到的一些公用文件放在这里,PCBuild和PCBuild8都要用到这个目录的内容
PCBuild:Python用于VS 2003的Project文件
PCbuild8:Python用于VS 2005的Project文件
Python:Python主程序代码
RISCOS:Python的RISC OS Port
Tools:Build和Extend Python所需的工具

vs2013 编译 python 源码

准备
VS 2013(其实 vs 版本编译的差异不大,设置也基本相同)
python 源码文件: Python-2.7.3.tgz
编译
(1)解压 Python-2.7.3.tgz
(2)进入 Pcbuild 文件夹,使用 vs 2013 打开 pybuild.sln (vs 解决方案),进入 vs 2013 IDE 环境
(3)右键解决方案’pcbuild’ ⇒ 属性
a. 通用属性
单启动项目 ⇒ 选择 python
b. 配置属性
左上角的【配置】⇒ Debug(Release 可能会报错)
项目上下文 ⇒ 仅选中 python/pythoncore
(4)首先编译 make_buildinfo 和 make_versioninfo
分别右键 make_buildinfo/make_versioninfo ⇒ 仅用于项目 ⇒ 仅重新生成
(5)编译此解决方案,最终会在开始的 PCbuild文件夹下生成 python_d.exe 和 python27_d.dll 文件,可双击 python_d.exe,进入 python 命令行环境。

编译中间应该有6个错误,解决方式如下,

timezone 这个宏不再被vs2015支持,所有出现的地方都要替换为timezone ,剩下的几个关于时间的编译错误也是如此加个下划线【】就好了。错误都集中在 pythoncore下的timemodule里 line:687附近,也有几个其他的报错变量出现,位置也在这附近,处理方法同样是前面加下划线。
项目的配置问题:主要是compiler编译出的中间文件名和linker使用的文件名不匹配,参考之前的错误报告, 需要在配置里设置pythoncore项目的输出文件名为$(PyDllName)_d (右键pythoncore ⇒ 属性)。
这里写图片描述
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值