[Gauche-devel-jp] c-wrapper 0.4.0

Back to archive index

KOGURO, Naoki naoki****@kogur*****
2006年 6月 11日 (日) 18:32:38 JST


小黒です。

c-wrapper 0.4.0をリリースしました。

変更点は以下の通りです。
- Intel Macに対応しました
- Objective-Cに対応しました(MacOSXのみ)
- FreeBSDで関数の戻り値が構造体・共用体であっても正しく動作するように 
なりました
- ポインタオブジェクトに対してファイナライザを指定できるようになりました
- infoドキュメントを追加しました(内容はまだ不完全です)

今回ポインタオブジェクトに対してファイナライザを定義できるようにしまし 
たが、以下のようなケースで意図しない解放を引き起こすことがあるので、使 
用には注意が必要です。

; AとBは異なるポインタオブジェクトだが、同じアドレスを指している。
(define A (ref some-struct-obj 'some-pointer))
(define B (ref some-struct-obj 'some-pointer))

; Aにファイナライザを設定する
(register-finalizer! A (lambda (ptr) (free ptr)))

(define A #f)
; Bは使用中だがAのファイナライザが呼ばれてしまい、領域が解放されてしまう
(gc)


ダウンロードおよび詳しい内容は以下のURLを参照してください。
http://homepage.mac.com/naoki.koguro/prog/c-wrapper/index-j.html


--
KOGURO, Naoki <naoki****@kogur*****>




Gauche-devel-jp メーリングリストの案内
Back to archive index