Python 源码剖析(二)—— 第一次修改 Python 源代码
2016-04-29 15:59
741 查看
对于输出信息,使用 printf 最为简单。但是 printf 要输出 Python 中的某个对象却不是那么方便,幸好 Python 的 C API 提供了一个输出对象的接口:
object.h(在 pythoncore ⇒ Include)
intobject.h(pythoncore ⇒ Objects)
在该函数的开头添加如下代码:
此时,重新编译 python 解决方案,会得到新的 python27_d.dll,双击 python_d.exe,便可得到期待的结果:
object.h(在 pythoncore ⇒ Include)
PyAPI_FUNC(int) PyObject_Print(PyObject *, FILE *, int); // 将 PyObject 打印到指定的文件流中
intobject.h(pythoncore ⇒ Objects)
static int int_print(PyIntObject *v, FILE *fp, int flags); // 在命令行界面中 // print 100 时会调用的底层函数
在该函数的开头添加如下代码:
PyObject* str = PyString_FromString("I am in int_print."); PyObject_Print(str, stdout, 0); printf("\n");
此时,重新编译 python 解决方案,会得到新的 python27_d.dll,双击 python_d.exe,便可得到期待的结果:
相关文章推荐
- Python 列表元素排重uniq
- Python(2)--布尔值、变量、常量
- 利用python进行数据分析随笔小记
- python的各种模块安装及其两个版本一起安装
- Python一日一练19----统计字符串中的字符个数
- Python使用ctypes访问C代码
- Python批量修改文本文件内容的方法
- Python 源码剖析(一)—— vs2013 编译 python 源码
- python中的datetime模块
- python_笔记13_装饰器
- Python 中 os.path模板
- pyinstaller生成exe笔记
- 一个简单python语言web server,输出机器上的HW信息
- 配置emacs python 开发环境
- python-实现文件夹图片到列表
- 图像轮廓个直方图-(Python)
- Python+Opencv识别两张相似图片
- python的可变和不可变对象
- Windows下为Python编译C扩展模块
- 【转载】Python练习册,每天一个小程序