お世話になっております。 A.中村です。

On Thu, 29 Jul 1999 18:29:15 +0900
"Dai.K." <MAP2303 / mapletown.net> wrote:

>   Data_Wrap_Struct() で C構造体を持つオブジェクトを作ります。
>   ここで、同じC構造体を持つ別の Ruby Object を生成した場合、一方の参照が消
> えたら、そのオブジェクトはもう一方の状態に関係なく GC されると思います。
>   この場合、同様にチェック無く free に指定した関数まで呼ばれますか?

C言語の掟(笑)で「よそで起きたことは感知(関知)しない」
でしょうから、freeは呼ばれるでしょうね。
freeが(というより指定した任意の関数が)呼ばれる「のを」
保証するData_Wrap_Structですから。

やっぱり、C構造体かRubyオブジェクトか、どっちかに
参照係数(笑)を持たせて管理するような事柄ですよねえ…