Пример кода или проектов с использованием простого счетчика ссылок в C - PullRequest
4 голосов
/ 16 сентября 2009

Мне интересно, насколько сложно было бы интегрировать режим подсчета ссылок (или другой управляемой памяти) для управления некоторыми из моих структурных библиотек в C. Какой пример кода вы бы порекомендовали посмотреть?

Ответы [ 3 ]

2 голосов
/ 16 сентября 2009

Python использует сборку мусора на основе RC, а также решает проблему циклических ссылок (т.е. когда у вас есть два или более объектов, которые ссылаются друг на друга, но никто больше не ссылается на них; в этом случае количество ссылок будет> 0, но весь цикл может быть собран).

2 голосов
/ 16 сентября 2009

XMLRPC-c и json-c являются примерами библиотек C, которые используют подсчет ссылок (и имеют несколько разные подходы к тому, когда их увеличивать за кулисами). Если вы находитесь в многопоточной среде, вас также может заинтересовать использование kref в ядре Linux.

2 голосов
/ 16 сентября 2009

Этот сборщик мусора широко используется для C (даже в gcc)

...