Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 938ce2a

Browse files
[po] auto sync
1 parent 79ed395 commit 938ce2a

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

c-api/intro.po

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,9 @@ msgid ""
338338
" (There's an obvious problem with objects that reference each other here; "
339339
"for now, the solution is \"don't do that.\")"
340340
msgstr ""
341+
"引用计数非常重要,因为现代计算机内存(通常十分)有限;它计算有多少不同的地方引用同一个对象。这样的地方可以是某个对象,或者是某个全局(或静态)C "
342+
"变量,亦或是某个 C 函数的局部变量。当一个对象的引用计数变为 "
343+
"0,释放该对象。如果这个已释放的对象包含其它对象的引用计数,则递减这些对象的引用计数。如果这些对象的引用计数减少为零,则可以依次释放这些对象,依此类推。(这里有一个很明显的问题——对象之间相互引用;目前,解决方案是“不要那样做”。)"
341344

342345
#: ../../c-api/intro.rst:245
343346
msgid ""
@@ -356,6 +359,11 @@ msgid ""
356359
"memory (assuming ``sizeof(Py_ssize_t) >= sizeof(void*)``). Thus, the "
357360
"reference count increment is a simple operation."
358361
msgstr ""
362+
"总是显式操作引用计数。通常的方法是使用宏 :c:func:`Py_INCREF` 来增加一个对象的引用计数,使用宏 "
363+
":c:func:`Py_DECREF` 来减少一个对象的引用计数。宏 :c:func:`Py_DECREF` "
364+
"必须检查引用计数是否为零,然后调用对象的释放器, 因此它比 incref "
365+
"宏复杂得多。释放器是一个包含在对象类型结构中的函数指针。如果对象是复合对象类型(例如列表),则类型特定的释放器负责递减包含在对象中的其他对象的引用计数,并执行所需的终结。引用计数不会溢出,至少用与虚拟内存中不同内存位置一样多的位用于保存引用计数(即"
366+
" ``sizeof(Py_ssize_t) >= sizeof(void*)`` )。因此,引用计数递增是一个简单的操作。"
359367

360368
#: ../../c-api/intro.rst:259
361369
msgid ""

0 commit comments

Comments
 (0)