Kimura Fuyuki
fuyuk****@nigre*****
2004年 2月 17日 (火) 10:09:38 JST
もし「グローバルなシンボルはあとからリンクしたものが優先される」のが普 通だとしたら、次も0になるべきだと思いませんか? /* cc a.c -lm; ./a.out; echo $? */ double sin(double d) { return 1; } int main(void) { return sin(0); } が、まさかそんなことはないわけで、ちゃんと自分のところで定義したものが 優先されます。DSOの製作者も同じことを期待してるはずなんですね。つまり 「シンボル解決は近いほうから遠いほうへ」 これが常識的なところだと思うんですが、どうでしょう? それと、私はないものねだりをしているつもりはなくて、それなりに目当てが あって騒いでいます。というのは、 1. パターンBからAへの移行がなぜ生じているのか知りたい。 2. Aでもやっていかれる道があるのかどうか知りたい。 上に納得のいく答が得られなかった場合は、 3. 流れを逆転させたい。 * そうこうするうちにGauche-uuidはほとんどできあがってしまいました。 FreeBSD 5.xユーザー限定でコアの吐きっぷりをお楽しみください。:) http://www.nigredo.org/fuyuki/Gauche-uuid-0.1.tar.gz (IRIXにもuuid(3)はあるようなので、そっちでも吐くかもしれません。ファイ ルシステムまわりで使うらしいんですよね、uuid) * FreeBSDでは"Per object ELF Prebinding support"などという計画が進行中。 期待していのかなんなのか。 http://www.freebsd.org/releases/5.3R/todo.html -- 木村 冬樹