
エントリーの編集

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Ruby-FFIのManagedStructは、ObjectSpace#define_finalizerを利用して、GCにオブジェクトが回収される際に、予め登録されたメモリを解放する関数をFFIで呼ぶ - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Ruby-FFIのManagedStructは、ObjectSpace#define_finalizerを利用して、GCにオブジェクトが回収される際に、予め登録されたメモリを解放する関数をFFIで呼ぶ - Qiita
Ruby-FFIのManagedStructは、ObjectSpace#define_finalizerを利用して、GCにオブジェクトが回収される際... Ruby-FFIのManagedStructは、ObjectSpace#define_finalizerを利用して、GCにオブジェクトが回収される際に、予め登録されたメモリを解放する関数をFFIで呼ぶRubyffi Ruby-FFIでは、C言語の構造体と、Rubyのクラスを関連付けることができる。Rubyのクラスのインスタンスオブジェクトが作成されると、C言語の構造体用のメモリが確保される。しかし、RubyのインスタンスがGCによって回収される時に、C言語の構造体のメモリが解放されるとは限らない。 そこでRuby-FFIでは、RubyのオブジェクトがGCに回収された時に、C言語側でメモリを自動的に解放してくれるクラスManagedStructというものが用意されている。ManagedStructはC拡張でゴリゴリと難しいことをしているのかと思いきや、意外にもシンプルにRubyで実装されてい