From owner-FreeBSD-users-jp@jp.freebsd.org  Fri May 30 06:46:57 1997
Received: by jaz.jp.freebsd.org (8.8.5+2.7Wbeta5/8.7.3) id GAA24870
	Fri, 30 May 1997 06:46:57 +0900 (JST)
Received: by jaz.jp.freebsd.org (8.8.5+2.7Wbeta5/8.7.3) with SMTP id GAA24862
	for <freebsd-users-jp@jp.freebsd.org>; Fri, 30 May 1997 06:46:55 +0900 (JST)
Received: from fsunm (localhost.bpe.es.osaka-u.ac.jp [127.0.0.1]) by fsunm.bpe.es.osaka-u.ac.jp (8.6.12+2.4W/3.3Wb95051115) with ESMTP id GAA14092 for freebsd-users-jp@jp.freebsd.org; Fri, 30 May 1997 06:46:53 +0900
Message-Id: <199705292146.GAA14092@fsunm.bpe.es.osaka-u.ac.jp>
To: FreeBSD-users-jp@jp.freebsd.org
In-Reply-To: Your message of "Thu, 29 May 1997 13:04:54 +0900 (JST)"
References: <199705290404.NAA21375@unicorn.netlab.is.tsukuba.ac.jp>
X-Mailer: Mew version 1.68 on Emacs 19.28.1 / Mule 2.3
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Date: Fri, 30 May 1997 06:46:53 +0900
From: OKAZAKI Tetsurou <okazaki@bpe.es.osaka-u.ac.jp>
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: bulk
X-Distribute: distribute [version 2.1 (Alpha) patchlevel=19]
X-Sequence: FreeBSD-users-jp 13482
Subject: [FreeBSD-users-jp 13482] Re: shared lib
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org

  $B2,:j!w:eBg$G$9!%(B

From: ush@netlab.is.tsukuba.ac.jp ($B5m:,(B $B9(9,(B)
> <199705280845.RAA00222@hiro.mydomain.jp>$B$N5-;v$K$*$$$F(B
> hirohito@msi.biglobe.ne.jp$B$5$s$O=q$-$^$7$?(B
> >> DearSirs
> >> $BHu8}$G$9!#$:$C$HA0$KGc$C$?(BDelphi1.0$B$NF~Lg=q$K(B
> >> DLL$B$N:n@.J}K!$,:\$C$F$$$?$N$r;W$$=P$7$^$7$?!#(B
> >> $B$7$+$7!"(BUNIX(FreeBSD)$B$NK\$r$_$F$bAjEv$9$kJ*$,(B
> >> $B$J$$$h$&$G$9$,(B...shared library$B$,$=$l$J$s$G(B
> >> $B$7$g$&$+!)$^$?!"$=$&$@$H$7$?$i$I$&$d$C$F(B
> >> $B:n$k$N$+8f65<(4j$$$^$9!#(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

> $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

  $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

---
$B2,:j(B $BE/O/(B   $B:eBg(B::$B4pAC9)3X8&5f2J(B::$B%7%9%F%`?M4V7O(B::$B@8J*9)3XJ,Ln(B
            okazaki@bpe.es.osaka-u.ac.jp



