From owner-FreeBSD-users-jp@jp.freebsd.org  Fri May 30 13:36:23 1997
Received: by jaz.jp.freebsd.org (8.8.5+2.7Wbeta5/8.7.3) id NAA21647
	Fri, 30 May 1997 13:36:23 +0900 (JST)
Received: by jaz.jp.freebsd.org (8.8.5+2.7Wbeta5/8.7.3) with ESMTP id NAA21642
	for <FreeBSD-users-jp@jp.freebsd.org>; Fri, 30 May 1997 13:36:22 +0900 (JST)
Received: (from ush@localhost) by efreet.netlab.is.tsukuba.ac.jp (8.8.5/3.5Wpl3netlab-5.02) id NAA22281; Fri, 30 May 1997 13:36:22 +0900 (JST)
Date: Fri, 30 May 1997 13:36:22 +0900 (JST)
Message-Id: <199705300436.NAA22281@efreet.netlab.is.tsukuba.ac.jp>
To: FreeBSD-users-jp@jp.freebsd.org
In-Reply-To: Your message of "Fri, 30 May 1997 06:46:53 +0900".
	<199705292146.GAA14092@fsunm.bpe.es.osaka-u.ac.jp>
From: ush@netlab.is.tsukuba.ac.jp (=?ISO-2022-JP?B?GyRCNW06LBsoQiAbJEI5KDksGyhC?=)
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
X-Mailer: mnews [version 1.20] 1996-12/08(Sun)
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: bulk
X-Distribute: distribute [version 2.1 (Alpha) patchlevel=19]
X-Sequence: FreeBSD-users-jp 13495
Subject: [FreeBSD-users-jp 13495] Re: shared lib
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org

$B5m:,!wC^GHBg3X%M%C%H%o!<%/8&$G$9!%(B
<199705292146.GAA14092@fsunm.bpe.es.osaka-u.ac.jp>$B$N5-;v$K$*$$$F(B
okazaki@bpe.es.osaka-u.ac.jp$B$5$s$O=q$-$^$7$?(B
>>   $B2,:j!w:eBg$G$9!%(B
$B$A$g$$$H>JN,(B
>>   shared library$B$K4X$7$F$O5m:,$5$s$,2r@b$5$l$F$$$k$N$G!$(B
>>   DLL$B$N<B8=J}K!$K$D$$$FJdB-$7$^$9!%(B
>> 
>> > DLL$B$H$$$&$h$j(B MS-Win $B$H0c$&$N$O!$(Blate binding $B$,$G$-$J$$$N$G!$(B
>> > $B<B9T$9$k%W%m%0%i%`<+?H$,(B shared lib $B$r;H$&$H$+;H$o$J$$$H$+$$$&(B
>> > $BA*Br$O$G$-$J$$$3$H$G$7$g$&!%(B
>> 
>>   FreeBSD$B$G$O(B dlopen(3), dlsym(3), dlclose(3) $B$H(B
>>   $B$$$C$?4X?t(B(SVR4$BM3Mh(B?)$B$r;H$($P(B shared library $B$N(B
>>   late binding $B$b=PMh$^$9!%(B
>> 
>>   Win32 API(?)$B$N4X?t(B LoadLibrary() $B$KAjEv$9$k$N$,(B dlopen() ,
>>   GetProcAddress() $B$KAjEv$9$k$N$,(B dlsym() $B$G$9!%(B
dlopen $B$C$F$d$O$j$=$&$$$&$b$s$G$7$?$+(B... man dlopen $B$7$F$_$J$+$C$?<+J,$,(B
$B0-$$$s$G$9$,!%(B

$B$=$&9M$($k$H(B lha.dll $B$J$i$L(B liblha.so.* $B$,$G$-$?$j$7$F!%!%!%(B
#$B$+$s$,$($F$_$l$P(B libz $B$O$"$k$M(B...

>> > $B$J$*!$:n$jJ}$G$9$,!$(Bmain() $B$,$J$$(B C$B%=!<%972$r%3%s%Q%$%k$9$k$H$-$K!$(B
>> > $B%*%W%7%g%s(B -fpic $B$rIU$1$^$9!%(B
>> > $B$=$&$7$F(B $B$G$-$?(B $B%*%V%8%'%/%H%U%!%$%k$r(B
>> > ld -Bshareable -x -o $B%i%$%V%i%jL>(B.so.$B%a%8%c!<HV9f(B.$B%^%$%J!<HV9f(B \
>> > `lorder $B%*%V%8%'%/%H(B.o | tsort -q`
>> > $B$H$7$F:n$l$P$h$$$N$G$9!%(B
>> 
>>   shared library$B$N:n$jJ}$O!$(B2.2.1-RELEASE$B0J9_(B(?)$B$@$H(B
>> 
>>   gcc -shared -o $B%i%$%V%i%jL>(B.so.$B%a%8%c!<HV9f(B.$B%^%$%J!<HV9f(B \
>>   `lorder $B%*%V%8%'%/%H(B1.o $B%*%V%8%'%/%H(B2.o | tsort -q`
>> 
>>   $BEy$G$b=PMh$k$H;W$$$^$9!%$$$D$+$N%"%J%&%s%9$K!$(B
>>   gcc $B$N(B -shared $B%*%W%7%g%s$,M-8z$K$J$C$?$H$$$&5-=R$,$"$j$^$7$?!%(B
2.2.2 $B$G3NG'$7$^$7$?!%(B -shared $B$K$J$C$F$^$9$M!%(B

>>   $B;d$N<j85$K$O(B2.1.5-RELEASE$B$N4D6-$7$+$J$$$N$G(B
>>   2.2$B7O$d(B3.0$B7O$G$N:G?7>u67$OJ,$+$j$^$;$s$,!$(B
>>   C++$BEy$N(B,constructor,destructor$B$,B8:_$9$k8@8l$G=q$+$l$?(B
>>   $B%=!<%9$+$i(B DLL$B2DG=$J(Bshared library $B$r:n$k>l9g$O!$(B
>>   /usr/lib/c++rt0.o $B$r0l=o$K%j%s%/$7$F$"$2$kI,MW$,$"$j$^$9!%(B
>>   $B$3$3$i$X$s$N$3$H$b(B /usr/share/mk/bsd.lib.mk $B$K=q$+$l$F$^$7$?!%(B
2.2$B7O$G$O(B $B=q$+$l$F$O$$$J$$$h$&$G$9!%(B
$B$G$b9M$($?$i(B g++ -shared $B$H$d$k$J$i(B c++rt0.o $B$rIU$1$F$/$l$=$&$G$9$+$i(B
$B=q$$$F$J$$$N$+$J!)(B
    _/|     _/ _/_/_/_/  _/_/_/_/_/ $BC^GHBg3X(B $B%3%s%T%e!<%?%M%C%H%o!<%/8&5f<<(B 
   _/ |    _/ _/            _/         $B5m:,(B $B9(9,(B [Ushine Hiroyuki]
  _/  |   _/ _/_/_/        _/       mail: ush@netlab.is.tsukuba.ac.jp
 _/   |  _/ _/_           _/        http://www.netlab.is.tsukuba.ac.jp/~ush
_/    |__/ _/_/_/_/      _/         Tel : 0298-53-5158   Fax : 0298-53-5158
