[Gauche-devel-jp] ANN: c-wrapper 0.6.0

Back to archive index

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*****>




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