Я пишу расширение для Ruby и использую функцию Data_wrap_struct
.
Чтобы участвовать в процессе сбора мусора в Ruby, я должен определить подпрограмму для освобождения моей структуры и подпрограмму для пометки любых ссылок из моей структуры в другие структуры. Я передаю классическую функцию free
, чтобы освободить память, но я не знаю, как использовать функцию метки.
мои структуры звучат так
typedef struct
{
int x;
int y;
} A;
typedef struct
{
A collection[10];
int current;
} B;
Я думаю, что мне нужна функция пометки для пометки ссылок в collection
структуры B.
Кто-то может показать мне пример того, как работает функция пометок?