Data_wrap_struct и функция отметки

Я пишу расширение Ruby, а я использую функцию Data_wrap_struct .

Чтобы участвовать в процессе сборки мусора Ruby mark-and-sweep, мне нужно определить процедуру для освобождения моей структуры и процедуру для пометки любых ссылок из моей структуры на другие структуры. Я передаю классическую бесплатную функцию для освобождения памяти, но я не знаю, как использовать функцию отметки.

мои структуры звучат так

typedef struct
{
  int x;
  int y;
} A;

typedef struct
{
  A collection[10];
  int current;
} B;

Я думаю, что мне нужна функция отметки, чтобы отмечать ссылки в коллекции структуры B.

Кто-нибудь может показать мне пример, чтобы увидеть, как функция отметки работает?

8
задан Matheus Moreira 24 February 2012 в 16:46
поделиться