Shiro Kawai
shiro****@lava*****
2004年 6月 17日 (木) 16:22:44 JST
From: Shoji Kuzukami <kuzuk****@manba*****> Subject: [Gauche-devel-jp] numeric compiler Date: Thu, 17 Jun 2004 14:43:04 +0900 > gaucheの内部のソースを読んでみると,stubファイルというものがありますが, > > これを使うとスマートにできそうな感を受けましたが, > > ドキュメント等が整備されていないようなので, > > どのように使用するのか,恒久的に使用できるのかということが分かりませんでした. > > このあたりに関して何か助言いただけませんか? このへんのインタフェースは0.8.xシリーズで固めてゆきます。 stubファイルは、define-cprocの仕様についてはほぼ確定と考えて いただいて構いません (examples/spigotで使っている範囲)。 今後整備するにしても現在との互換性は保てると思います。 Cの構造体をSchemeに見せる方法はもう少しスマートに変えたいと 思っていて、stubファイルのdefine-cclass回りは変わる可能性が 大いにあります。ちょっと手間ですがC側でスロット定義なとを 行って下さい。そちらは多分変わらないと思います。 また、Cコードを生成してコンパイルするという点についても、除々に 整備しています。非公開ですが、gauche.cgenというモジュールが ありまして、そのあたりをまとめて行くつもりでいます。 なにぶん、明日の食い扶持さえはっきりしない生活ゆえ、いつまでに 何が出来るとはいいづらいのですが、今年いっぱいくらいで安定した 仕様が見えればいいかなと思っています。 それと、「.soファイルをインストールせずに」という話ですが、 dlopen()される方はadd-load-pathで制御できるので、 これはlibgauche.so等、ld.so等によりランタイムにリンクされる もののことですよね。これはシステム依存になってしまうので なかなか綺麗にサポートするのが難しいです。libtoolは使いたくないし。 システムを限定できるなら、.so作成時に -rpath等、パスを埋め込む フラグを与えてやるのが一番良いと思います。 --shiro