[Anthy-dev 1835] Re: asprintf

アーカイブの一覧に戻る

YamaKen yamak****@bp*****
2005年 2月 15日 (火) 16:57:56 JST


At Tue, 15 Feb 2005 16:04:09 +0900,
ekato****@ees***** wrote:
> 
> On 2005/02/15, at 9:27, YamaKen wrote:
> > ただ、_GNU_SOURCEの方は露骨に外部の非標準なglibc拡張をアテにして、
> > それに対する制御もソース中に書く事になるのが気持ち悪いと感じて先
> > のような提案をしてみました。最近はasprintf()をサポートしているシ
> > ステムも多いですが、きちんと規格化されてない関数はなるべく使いた
> > くないという意識があるので。例えばconstやNULLの扱いが実装によっ
> > て違ってくる可能性もありますし。
> 
> _GNU_SOURCE を定義するのは特に問題無いと思いますけど。というかこれも古い
> glibc で必要なのでしょうがないというか…
> 挙動に関しては、asprintf がある、BSD や Linux では問題無いです。

ええと、うまく意図が伝わらなかったようですが、そもそも外部の
asprintf()を使いたくないという話です。_GNU_SOURCEをdefineする事
自体に問題があるとは思っていません。_GNU_SOURCEに関係するような
非標準的な機能に依存したくないという事です。libuimでも昔から
asprintf()は避けています。

なので常にuimが自前で持っているasprintf()を使う事にして、さらに
conflictを避けるためuim_asprintf()のような名前にするのはどうでしょ
う、という提案をしました。

もちろんこれの影響を受けるのは今のところuim-ximだけなので、加藤
さんのやりやすい方法で良いと思います。

私の言いたかったのは「いかにして多くのプラットフォームで
asprintf()を使えるようにするか」よりも「いかにシステム側の
asprintf()を使わずに実装するか」というアプローチを基本にした方が
少ない労力で高いポータビリティを確保できるんじゃないかという事で
す。Windows CEでXが動いたりする時代ですし。

思いのほか長い話になってしまいましたが、そういう考え方もあるのか
ぐらいに軽く受け取っといてください。

余談ですが、こういったポータビリティの確保はSchemeインタプリタに
任せて楽したい、という目論見もあって将来的にはlibuimのコードを可
能な限りScheme化したいと思っています。これにはcommitter間で異論
がありますが。

-------------------------------
ヤマケン yamak****@bp*****



Anthy-dev メーリングリストの案内
アーカイブの一覧に戻る