文件名称:小整数对象池的初始化-springboot以ftp方式上传文件到远程服务器的流程
文件大小:1.85MB
文件格式:PDF
更新时间:2024-06-30 13:01:58
Python 源码剖析
2.5 小整数对象池的初始化 现在,关于 Python 的整数对象体系,我们只剩下最后一个问题了。在 small_ints 中,我 们看到,它维护的只是 PyIntObject 的指针,那么这些与天地同寿的小整数对象是在什么地 方被创建和初始化的呢。完成这一切的神秘的函数正是_PyInt_Init。 [intobject.c] int _PyInt_Init(void) { PyIntObject *v; int ival; #if NSMALLNEGINTS + NSMALLPOSINTS > 0 for (ival = -NSMALLNEGINTS; ival < NSMALLPOSINTS; ival++) { if (!free_list && (free_list = fill_free_list()) == NULL) return 0; /* PyObject_New is inlined */ v = free_list; free_list = (PyIntObject *)v->ob_type; PyObject_INIT(v, &PyInt_Type);