KOGURO, Naoki
naoki****@kogur*****
2009年 6月 27日 (土) 22:51:19 JST
小黒です。 c-wrapper 0.6.0をリリースしました。 c-wrapperとはGauche用のForeign Function Interface です。ラッパーを書かなくてもCのライブラリを使うことがで きるようになります。 以前のバージョンから以下の点が変わりました。 - Cパーサのスピードが向上しました。 たとえば、MacPro (Xeon 3GHz)の環境で、gtk.h をロードした時のスピードは以下のようになります。 0.5.6: 21.8 秒 0.6.0: 2.3 秒 - C関数の呼び出し時のオーバヘッドが低減しました。 たとえば、'int f(int a) { return a; }' といった関 数を呼び出した時のスピードは以下のようになります。 0.5.6: 67,371 ナノ秒 0.6.0: 412 ナノ秒 - '#define FOO foo()'といった形式のマクロも取り扱えるよう になりました。 gosh> (print (FOO)) ; (print foo()) と解釈されます - c-load に :hide-symbols オプションが追加されまし た。ここで指定されたシンボルは定義されますが、現在のモジュー ルからは見えません。以下のような使用を想定しています。 gosh> (c-load "unistd.h" :hide-symbols '(read write)) gosh> (read) ; Gaucheのreadが呼ばれます gosh> ((c-symbol read) filedes buf nbyte) ; read(2)が呼 ばれます 注意: NetBSD x64 環境では一部の単体テストが通っていませ ん。そのため、動作確認環境から一時的に NetBSD x64 は外 しています。 ダウンロードおよび詳しい内容は以下のURLを参照してください。 http://homepage.mac.com/naoki.koguro/prog/c-wrapper/index-j.html -- KOGURO, Naoki <naoki****@kogur*****>