Определить системную память как не подлежащую сбору
Я хочу поставить указатели, выделенные через GC_MALLOC
в памяти, выделенной со стандартом malloc()
, В руководстве сказано не делать этого, но эта память выделена в библиотеке, которую я не могу контролировать. Можно ли обозначить память, выделенную malloc()
как коллекционируется так же, как GC_MALLOC_UNCOLLECTABLE()
делает для памяти, что он выделяет? То есть он будет знать, что нужно сканировать эту память на наличие указателей, но не пытаться освободить ее.
Единственная альтернатива, о которой я могу подумать, - это выделить память через GC_MALLOC_UNCOLLECTABLE()
в добавок к malloc
-распределенная память, просто чтобы разместить указатель в обоих местах, но я надеюсь на менее неловкое решение.