<HTML ><HEAD ><TITLE >$B;(O?(B</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.54"><LINK REL="HOME" TITLE="Program Library HOWTO" HREF="index.html"><LINK REL="PREVIOUS" TITLE="$BF0E*$K%m!<%I$5$l$k(B (Dynamically Loaded; DL) $B%i%$%V%i%j(B" HREF="dl-libraries.html"><LINK REL="NEXT" TITLE="$B$5$i$KB?$/$NNc(B" HREF="more-examples.html"></HEAD ><BODY CLASS="SECT1" BGCOLOR="#FFFFFF" TEXT="#000000" ><DIV CLASS="NAVHEADER" ><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >Program Library HOWTO</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="dl-libraries.html" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="more-examples.html" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="SECT1" ><H1 CLASS="SECT1" ><A NAME="MISCELLANEOUS" >5. $B;(O?(B</A ></H1 ><DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="AEN207" >5.1. nm $B%3%^%s%I(B</A ></H2 ><P >nm(1) $B%3%^%s%I$O!"M?$($i$l$?%i%$%V%i%jFb$N%7%s%\%k$N%j%9%H$rJs9p$7$^$9!#(B $B@EE*%i%$%V%i%j!"6&M-%i%$%V%i%j$N$I$A$i$KBP$7$F$b5!G=$7$^$9!#(B nm(1) $B$OM?$($i$l$?%i%$%V%i%j$GDj5A$5$l$F$$$k%7%s%\%kL>!"%7%s%\%k$NCM!"(B $B%7%s%\%k$N%?%$%W$rI=<($7$^$9!#$^$?!"$=$N%i%$%V%i%jFb$K>pJs$,B8:_$9$k$J$i$P(B (-l $B%*%W%7%g%s$r8+$F$/$@$5$$(B) $B!"%7%s%\%k$,%=!<%9%3!<%IFb$N$I$3$G(B ($B%U%!%$%kL>$H9THV9f(B) $BDj5A$5$l$F$$$k$+$H$$$&$3$H$bFCDj$G$-$^$9!#(B</P ><P >$B%7%s%\%k%?%$%W$K$D$$$F$O$b$&>/$7@bL@$,I,MW$G$9!#(B $B%?%$%W$O0lJ8;z$GI=<($5$l$^$9!#>.J8;z$O$=$N%7%s%\%k$,%m!<%+%k$G$"$k$3$H$r0UL#$7!"(B $BBgJ8;z$O$=$N%7%s%\%k$,%0%m!<%P%k(B ($B30It(B) $B$G$"$k$3$H$r0UL#$7$^$9!#(B $BE57?E*$J%7%s%\%k$N%?%$%W$O<!$N$b$N$r4^$_$^$9!=!=(B T ($B%3!<%I%;%/%7%g%sFb$NIaDL$NDj5A(B) D ($B=i4|2=$5$l$?%G!<%?%;%/%7%g%s(B) B ($B=i4|2=$5$l$F$$$J$$%G!<%?%;%/%7%g%s(B) U ($BL$Dj5A!#%7%s%\%k$O%i%$%V%i%j$K$h$C$F;H$o$l$F$$$k$,!"(B $B%i%$%V%i%jFb$G$ODj5A$5$l$F$$$J$$(B) W (weak. $B$b$7$bB>$N%i%$%V%i%j$b$3$N%7%s%\%k$rDj5A$7$F$$$?>l9g!"(B $B$=$NDj5A$,%*!<%P!<%i%$%I$9$k(B)</P ><P >$B4X?t$NL>A0$O3P$($F$$$k$1$l$I$b!"(B $B$=$l$,$I$N%i%$%V%i%j$GDj5A$5$l$F$$$k$+@53N$K$O;W$$=P$;$J$$>l9g!"(B $B%i%$%V%i%jL>$r8+$D$1$k$?$a!"(Bnm $B$N(B ``-o'' $B%*%W%7%g%s(B ($B3F%i%$%s$N%U%!%$%kL>$NA0$KCV$-$^$9(B) $B$K(B grep $B$rB3$1$F;H$&$3$H$,$G$-$^$9!#(B Bourne $B%7%'%k$G$"$l$P!"(B/lib, /usr/lib, /usr/lib $B$ND>2<$N%5%V%G%#%l%/%H%j!"(B $B$*$h$S(B /usr/local/lib $BFb$NA4%i%$%V%i%j$rBP>]$K$7$F(B ``cos'' $B$r8!:w$9$k$K$O!"(B $B<!$N$h$&$K$7$^$9!=!=(B <TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="PROGRAMLISTING" >nm -o /lib/* /usr/lib/* /usr/lib/*/* \ /usr/local/lib/* 2> /dev/null | grep 'cos$' </PRE ></FONT ></TD ></TR ></TABLE ></P ><P >nm $B$K4X$9$k$b$C$HB?$/$N>pJs$O!"(B <A HREF="info:binutils#nm" TARGET="_top" >info:binutils#nm</A > $B$K%m!<%+%k$K%$%s%9%H!<%k$5$l$F$$$k(B nm $B$N(B ``info'' $B%I%-%e%a%s%H$GF@$i$l$^$9!#(B</P ></DIV ><DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="INIT-AND-FINI" >5.2. $BFCJL$J4X?t(B _init $B$H(B _fini</A ></H2 ><P >$BFs$D$NFCJL$J4X?t(B _init $B$H(B _fini $B$O!"%b%8%e!<%k$N=i4|=hM}$H=*N;=hM}$r;Y1g$7$^$9!#(B $B$b$7$b%i%$%V%i%jFb$G4X?t(B ``_init'' $B$,%(%/%9%]!<%H$5$l$F$$$k$H!"(B $B$=$N%i%$%V%i%j$N%*!<%W%s;~$K(B dlopen() $B$,8F$P$l$k$?$S!"(B $B$=$N4X?t$,8F$S=P$5$l$^$9!#(B C $B$N%W%m%0%i%`$G$O!"(B_init $B$H$$$&L>A0$N4X?t$rDj5A$9$k$3$H$r0UL#$7$^$9!#(B $B$3$l$KBP1~$9$k(B _fini $B$H8F$P$l$k4X?t$bB8:_$7!"(B $B$3$l$O!"%/%i%$%"%s%H$,%i%$%V%i%j$N2rJ|;~$K(B dlclose() $B$r8F$V$?$S$K!"8F$S=P$5$l$^$9(B ($B$=$7$F2rJ|$5$l$^$9(B) $B!#(B $B$3$l$i$N4X?t$N(B C $B%W%m%H%?%$%W$O<!$N$h$&$K$J$C$F$$$^$9!#(B <TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="PROGRAMLISTING" > void _init(void); void _fini(void);</PRE ></FONT ></TD ></TR ></TABLE ></P ><P >Gcc $B$G%U%!%$%k$r(B ``.o'' $B%U%!%$%k$X$H%3%s%Q%$%k$9$k$H$-$O!"(B $BK:$l$:$K(B ``-nostartfiles'' $B%*%W%7%g%s$rIU$1$F$/$@$5$$!#(B $B$3$N%*%W%7%g%s$O!"(BC $B%3%s%Q%$%i$,(B .so $B%U%!%$%k$KBP$7$F%7%9%F%`%9%?!<%H%"%C%W%i%$%V%i%j$r%j%s%/$7$J$$$h$&$K$7$^$9!#(B $B$3$N%*%W%7%g%s$rIU$1$J$$$H!"(B``multiple-definition'' ($B=EJ#Dj5A(B) $B%(%i!<$K$J$C$F$7$^$$$^$9!#(B _init $B$H(B _fini $B$K4X$9$k5DO@$r2C$($k$3$H$rDs0F$7$F$/$l$?$3$H!"(B $B$*$h$S$=$N:n@.$r<jEA$C$F$/$l$?$3$H$KBP$7$F!"(B Jim Mischel $B$H(B Tim Gentry $B$K46<U$7$^$9!#(B</P ></DIV ><DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="AEN220" >5.3. $B6&M-%i%$%V%i%j$O%9%/%j%W%H2=$G$-$k(B</A ></H2 ><P >$BDL>o$N%i%$%V%i%j7A<0$NBe$o$j$K!"(B $BFC<l$J%9%/%j%W%H8@8l$r;H$C$F$$$k%F%-%9%H%U%!%$%k$r6&M-%i%$%V%i%j$H$7$F(B GNU $B%m!<%@$,G'$a$k$3$H$O!"CmL\$KCM$7$^$9!#$3$l$O!"(B $BB>$N%i%$%V%i%j$r4V@\E*$K7k9g$5$;$k$N$KLrN)$A$^$9!#Nc$($P!"(B $B;d$N;}$D$"$k0l$D$N%7%9%F%`>e$N(B <TT CLASS="FILENAME" >/usr/lib/libc.so</TT > $B$r%j%9%F%#%s%0$7$?$b$N$O<!$N$h$&$K$J$j$^$9!#(B <TABLE BORDER="0" BGCOLOR="#E0E0E0" WIDTH="100%" ><TR ><TD ><FONT COLOR="#000000" ><PRE CLASS="PROGRAMLISTING" >/* GNU ld $B%9%/%j%W%H(B $B6&M-%i%$%V%i%j$r;H$&$,!"4v$D$+$N4X?t$O@EE*%i%$%V%i%jFb$K$7$+(B $BB8:_$7$J$$!#$=$N$?$a!"FsHVL\$K;n$_$k!#(B */ GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a )</PRE ></FONT ></TD ></TR ></TABLE ></P ><P >$B$3$l$K4X$9$k$h$j>\$7$$>pJs$O!"(Bld $B%j%s%+%9%/%j%W%H(B (ld $B%3%^%s%I8@8l(B) $B$K$D$$$F$N(B texinfo $B%I%-%e%a%s%H$r;2>H$7$F$/$@$5$$!#(B $B0lHLE*$J>pJs$O!"(Binfo:ld#Options $B$H(B info:ld#Commands $B$K$"$j!"$h$/;H$&%3%^%s%I$O(B info:ld#Option Commands $B$G@bL@$5$l$F$$$^$9!#(B</P ></DIV ><DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="AEN226" >5.4. GNU libtool</A ></H2 ><P >$BB?$/$N%7%9%F%`$K0\?"$5$l$k%"%W%j%1!<%7%g%s$r:n@.$7$F$$$k$J$i$P!"(B $B%i%$%V%i%j$r9=C[$7%$%s%9%H!<%k$9$k$N$K!"(B <A HREF="http://www.gnu.org/software/libtool/libtool.html" TARGET="_top" >GNU libtool</A > $B$r;HMQ$9$k$3$H$r9MN8$7$?$[$&$,$h$$$+$b$7$l$^$;$s!#(B GNU libtool $B$O!"HFMQE*$J%i%$%V%i%j%5%]!<%H%9%/%j%W%H$G$9!#(B Libtool $B$O!"6&M-%i%$%V%i%j;HMQ$NJ#;($5$r0l4S@-$N$"$k%]!<%?%V%k$J(B $B%$%s%?!<%U%'!<%9$G1#$7$^$9!#(BLibtool $B$O!"(B $B%*%V%8%'%/%H:n@.!"%i%$%V%i%j$N%j%s%/(B ($B@EE*$*$h$S6&M-(B) $B!"(B $B<B9T2DG=%U%!%$%k$N%j%s%/!"<B9T2DG=%U%!%$%k$N%G%P%C%0!"(B $B%i%$%V%i%j$N%$%s%9%H!<%k!"<B9T2DG=%U%!%$%k$N%$%s%9%H!<%k!"(B $B$K$D$$$F%]!<%?%V%k$J%$%s%?!<%U%'!<%9$rDs6!$7$^$9!#(B $B$^$?!"%W%m%0%i%`$rF0E*$K%m!<%I$9$k$?$a$N%]!<%?%S%j%F%#%i%C%Q!<(B $B$G$"$k(B libltdl $B$b4^$s$G$$$^$9!#$h$j>\:Y$J>pJs$O!"(B <A HREF="http://www.gnu.org/software/libtool/manual.html" TARGET="_top" >http://www.gnu.org/software/libtool/manual.html</A > $B$r;2>H$7$F$/$@$5$$!#(B</P ></DIV ><DIV CLASS="SECT2" ><H2 CLASS="SECT2" ><A NAME="AEN231" >5.5. $B6KC<$K>.$5$J<B9T2DG=%U%!%$%k(B</A ></H2 ><P ><A HREF="http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html" TARGET="_top" >$B!VK\Ev$K>.$5$J(B Linux $BMQ(B ELF $B<B9T2DG=%U%!%$%k:n@.$K4X$9$k92$?$@$7$$%A%e!<%H%j%"%k!W(B</A > $B$H$$$&J8=q$,!"$h$$;29M$H$J$k$G$7$g$&!#(B $B$3$l$O!"K\Ev$K>.$5$J<B9T2DG=%W%m%0%i%`$r:n@.$9$kJ}K!$K$D$$$FO@$8$F$$$^$9!#(B $BN(D>$K8@$($P!"0lHLE*$J4D6-$G$O!"$3$l$i$N%H%j%C%/$N$[$H$s$I$O;H$&$Y$-$G$O$"$j$^$;$s$,!"(B $B$=$l$i$O!"(BELF $B$,<B:]$K$I$N$h$&$K5!G=$9$k$+$r<($7$F$$$k$H$$$&E@$K$*$$$F!"(B $B6K$a$FM-1W$G$9!#(B</P ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="dl-libraries.html" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="more-examples.html" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >$BF0E*$K%m!<%I$5$l$k(B (Dynamically Loaded; DL) $B%i%$%V%i%j(B</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" > </TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >$B$5$i$KB?$/$NNc(B</TD ></TR ></TABLE ></DIV ></BODY ></HTML >