namazu-dev(ring)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: memo: libnamazu



<199912041328.WAA02094@xxxxxxxxxxxxxx>の記事において
satoru-t@xxxxxxxxxxxxxxxxxxさんは書きました。

>>   * nmz/libnamazu.c を廃止 (中の関数は適切なファイルに移動する)
>> 
>>   * nmz/*.c からは libnamazu.h を *インクルードしない*
>> 
>>   * ライブラリとして外から利用する関数は libnamazu.h に *も*
>>     プロトタイプ宣言を記述する

  この辺りを最初に書いたとき、自分の中では

* 外部に公開する関数のみ libnamazu.c に記述
* それにあわせて libnamazu.h を記述

  といった方法をとることを念頭においていました。他のファイルは機能単位
で分けていますが、libnamazu.{c,h}のみ分割の切り口をかえる、という感じ
です。というのも、

>>     - たとえば search.c の search_main() のプロトタイプ宣言
>>       は search.h と libnamazu.h の両方に記述する
>>       (search_main() はライブラリとして外から利用する関数)

  こういうアプローチがあんまり好きじゃないので...

>>     - プロトタイプ宣言を 2つのファイルに記述するのは面倒だが、
>>       大した数ではない。libnamazu.hは自動生成してもいい。

  自動生成するにしても外部公開用の新しい関数が増えたときに、

* 適切なファイルにコードを書く
* 自動生成用スクリプトに手を入れる

  という手順を取るよりは、

* 外部公開用のファイルにコードを書く

  だけで済む方が保守も楽じゃないかと思います。

>>     - 本当にこの方法でいいのかは自信がない

# 同じく ^^;

>>   * boehm GC <http://reality.sgi.com/boehm/gc.html> を導入す
>>     るとどうだろう?

  w3m <http://ei5nazha.yz.yamagata-u.ac.jp/~aito/w3m/> でも使っていま
すね。かなり緩い license ではあるようですが、GPL2 との共存って大丈夫な
んでしょうか...

# w3m は GC に良く似た license のようですね。

<199912042332.IAA21671@xxxxxxxxxxxxxx>の記事において
satoru-t@xxxxxxxxxxxxxxxxxxさんは書きました。

>> ライブラリとして外から利用する関数を選定してもらえませんか? > 野首さん

  そうですね。このあたりは追々... といっていると、いつまでたっても終ら
ないかも ^^; 最低限、Search::Namazu で使っている関数群は libnmz.h 行き
ですかね。

# フォローを付けなかった部分については基本的に賛成です。
-- 
野首 貴嗣
E-mail: knok@xxxxxxxxxxxxx (private)
        nokubi@xxxxxxxxx (official)