Äîêóìåíò âçÿò èç êýøà ïîèñêîâîé ìàøèíû. Àäðåñ
îðèãèíàëüíîãî äîêóìåíòà
: http://www.arcetri.astro.it/manual/ko/dso.html
Äàòà èçìåíåíèÿ: Mon Jan 21 19:44:30 2013 Äàòà èíäåêñèðîâàíèÿ: Thu Feb 27 23:31:09 2014 Êîäèðîâêà: ISO8859-5 Ïîèñêîâûå ñëîâà: ï ï ï ð ï ð ï ð ï ð ï ð ï ð ï ð ï ï ð ï ï ð ï ï ð ï ï ð ï ï ð ï ï ð ï ï ð ï ï ð ï ï ð ï ð ï ï ð ï ð ï ï ð ï ð ï ï ð ï ð ï ï ð ï ð ï ï ð ï ð ï ï ð ï ð ï ï ð ï ð ï ï ð ï ð ï ï ð ï ð ï ï ð ï ð ï ï ð ï ð ï ï ð ï ð ï ï ð ï ð ï ï ð ï ð ï ï ð ï ð ï ï ð ï ð ï ï ð ï ð ï ï ð ï ð ï ï ð ï |
Apache HTTP Server Version 2.2
ÎÖÖÔÔÅ Ð?Ì-É?ÄÒ À?È?ÐêÀÅ È?ÅòÅùÐË ÌÁÕÓ×ßÏ? Ì-É?ÏÅ Ö?×ä×â
ÁòÄÙÐË ÀñÑ?×â Ì? ÐæÄÒ È?ÅòØ-ÅØ ×ÑÇÞÁçÇ?ÐÜÄé. Ì-É?È? ÔÔÖÔ×âÆ?
httpd
Í××ðÖÔÐßÏÅ Ñ?Ð?ÐÈÇÞ È?ÅòÐË ÔÔÖÔÐß×â
Ì? ÐæÄé. ÎÖÄßÈù È?ÅòÐË httpd
Í××ðÖÔÐßÀ?
ÊàÈ?×ßÏ? ÅÏÐ?À?Ð?ÀÄÓÌ(Dynamic Shared Objects, DSO)ÇÞ ÔÔÖÔÐß×â
Ì? ÐæÄé. DSO È?ÅòÐÊ Ì-É?È? ÔÔÖÔÐß×âÆ? ÔÔÖÔÐß×ßÀÕÃ?, Apache
Extension Tool (apxs)ÐË
Ë÷Ïû×ßÏ? Ã?ÑïÏÅ ÔÔÖÔÐß×ßÏ? ÓïÀÅ×â Ì? ÐæÄé.
ÐÜ É?Ì-ÄÒ DSO È?Åò Ë÷ÏûÉÀ? ÉøÀö ÐÜÇàÐË ÌÃÈý×áÄé.
À?ÇÓÅØ È?Åò | À?ÇÓÅØ Ñ?ÍÓÎþ |
---|---|
ÎÖÖÔÔÅ ×éÍÙÏÅ Ñ?Ð?ÐÈÇÞ ÔÔÖÔÐß×èÎï×â
mod_so.c
Æ?ÄÒ È?ÅòÐÊ ÎÖÖÔÔÅ È?ÅòÐË
ÐàÎþÅùÐÜÁòÐ?×á DSOÈ? Ñ?Ï?×áÄé.
ÐÜ È?ÅòÐÊ core
È? Ñ?Ïì×ßÀý DSOÀÅ
ÅÙ Ì? Î?ÄÒ Ð?Ðß×á È?ÅòÐÜÄé. Í×Ñ?ÇÞ ÄéÈ? È?Å÷ ÎÖÖÔÔÅ È?ÅòÐÊ
ÌÃÔÅ É?Ì-ÏÅÌ- ÌÃÈý×á
configure
Ð× --enable-module=shared
ÏÙÌ×ÐË Ë÷Ïû×ßÏ? DSOÇÞ ÔÔÖÔÐß×â Ì? ÐæÄé. È?ÅòÐË
mod_foo.so
ÏÝ ÀÀÐÜ DSOÇÞ ÔÔÖÔÐß×áØÔ httpd.conf
ÖÔÐßÏÅ mod_so
Ð×
LoadModule
ÈýÇÙÎþÈ?
Ë÷Ïû×ßÏ? Ì-É? ÍÓÐëÍÓ Ø?ÐÊ Ð÷ÍÓÐëÍÓ Áç È?ÅòÐË ÐàÎþÅùÐß Ì?
ÐæÄé.
ÎÖÖÔÔÅ È?Åò(Ö?Ø? Ñ?ËÿÐêÀÅ ÈÈÅ÷ È?Åò)ÇÞ Ë÷Ïû×â DSO ÖÔÐßÐË ÍÁÀä
ÈÈÅùÁòÐ?×è apxs (APache
eXtenSion)Æ?ÄÒ Ë?ÇÞÏþ Ñ?Ï? ×ÑÇÞÁçÇ?ÐÜ ÐæÄé. ÐÜ ×ÑÇÞÁçÇ?ÐÊ
ÎÖÖÔÔÅ ÌâÍÊ Ö?È? ÉëÏÅÌ- DSOÇÞ Ë÷Ïû×â È?ÅòÐË
ÔÔÖÔÐß×âÆ? Ë÷Ïû×áÄé. ÀÃÃôÐÊ ÍÁÄé. ÎÖÖÔÔÅÈ? ÌÃÔÅ×âÆ?
configure
ÏÝ make install
ÐÜ
ÎÖÖÔÔÅ C ×üÄ?ÖÔÐßÐË ÌÃÔÅ×ßÀý, DSO ÖÔÐßÐË ÔÔÖÔÐß×ßÁòÐ?×á
×ÓÇÅÖ? Ö?Ð?Ð× ÔÔÖÔÐßÇ? ÏÙÌ×À? ÈÅÔÏ ÏÙÌ×ÐË apxs
×ÑÇÞÁçÇ?ÏÅ ÁòÇß×áÄé. ÁçÇÅÌ- apxs
È? Ë÷Ïû×ßÄÒ Ë÷ÏûÐêÄÒ
ÎÖÖÔÔÅ ÉøÖ?ÊË ÌâÍÊ Ö?È?Î?ÐÜ, Æ× DSO Ñ?Ï?ÐË Ð?×á ×ÓÇÅÖ? Ö?Ð?Ð×
ÔÔÖÔÐßÇ? ÏÙÌ×ÏÝ ÈÅÔÏ ÏÙÌ×ÏÅ ÍÕÀöÐË ÎÂÑ?ÎÚÀý ÐêÍÕÐ× ÎÖÖÔÔÅ
È?Åò ÌâÍÊÈ? ÔÔÖÔÐß×â Ì? ÐæÄé.
Apache 2.2Ð× DSO ÁòÄÙÏÅ Äû×á Ò?Àý À?Ç?×á ÏôÎðÐÜÄé:
mod_foo.c
È? DSO
mod_foo.so
ÇÞ:
$ ./configure --prefix=/path/to/install --enable-foo=shared
$ make install
mod_foo.c
È? DSO
mod_foo.so
ÇÞ:
$ ./configure --add-module=module_type:/path/to/3rdparty/mod_foo.c --enable-foo=shared
$ make install
$ ./configure --enable-so
$ make install
mod_foo.c
È?
DSO mod_foo.so
ÇÞ:
$ cd /path/to/3rdparty
$ apxs -c mod_foo.c
$ apxs -i -a -n foo mod_foo.la
È?Å÷ ÀöÏü ÐßÄì À?Ð? È?ÅòÐÜ ÔÔÖÔÐßÅ×Èù, httpd.conf
ÏÅ
LoadModule
Ñ?ÍÓÎþÈ?
Ë÷Ïû×ßÏ? ÎÖÖÔÔÅÀÅ Áç È?ÅòÐË ÐàÎþÅùÐÜÀä ÈÈÅ÷Äé.
×?ÄûÐ?ÐÞ Ð?ÄàÍÊÇ?ÏÅÄÒ ÅÏÐ?À?Ð?ÀÄÓÌ (DSO)Ð× ÅÏÐ? ÈÅÕÇ/ÇÞÅ?(dynamic linking/loading)ÐÜÆ?Àý ×ßÏ?, Ö?ÊÀ×á ×?ÍÔÐ× Í××ðÔêÅõ ÑÆÀ?ÐË ÈÈÅùÎþ Í××ðÑïÐÞ Í××ð×ÑÇÞÁçÇ?Ð× ÑæÌâÀ?À?ÏÅ ÐàÎþÅùÐÜÄÒ ÈêÑ? ÁòÄÙÐÜ ÐæÄé.
ÊÈÕû ÅÞÀÅÑ? ÉöÉÐÈÇÞ ÐàÎþÅùÐß Ì? ÐæÄé. ×ßÃ?ÄÒ Í××ð×ÑÇÞÁçÇ?ÐÜ
ÍÓÐë×âÆ? ld.so
Æ?ÄÒ ÍÓÍÊÕë ×ÑÇÞÁçÇ?ÐÜ ÐêÅÏÐÈÇÞ
ÐàÎþÅùÐÜÄÒ ÀöÏüÀý, ÄéÈ? ×ßÃ?ÄÒ Í××ðÑïÐÞ ×ÑÇÞÁçÇ?ÐÜ
dlopen()/dlsym()
ÍÓÍÊÕëØ?ÓòÇÞ Ð?ÄàÍÊ ÇÞÄ?(loader)Ð×
ÍÓÍÊÕë ÐÞÕÝÖôÐÜÍÊÐË Ë÷Ïû×ßÏ? Ñ?Ñ? ÐàÎþÅùÐÜÄÒ ÀöÏüÄé.
ÓÉÉ?ÒÀ ÀöÏü DSOÈ? ÊÈÕû À?Ð?Æ?ÐÜÊúÇ?È?(shared libraries)
Ø?ÐÊ DSO Æ?ÐÜÊúÇ?È?Æ?Àý ÊÞÈ?È÷, ÖÔÐßÐÊ
libfoo.so
Ã? libfoo.so.1.2
ÀÀÐÊ
ÐÜÈ?ÐË ÀÅÑ?Äé. ÐÜÅùÐÊ ÍÓÍÊÕë Å?ÇÊÕôÈ?(ÊÈÕû /usr/lib
)ÏÅ
ÐæÀý, ÔÔÖÔÐßÍÓ ÈÅÔÏ ÈýÇÙÎþÏÅ -lfoo
È? ÑæÎþ
Í××ðÖÔÐßÀ? Ï?Àñ×áÄé. ÐÜÇÈÀä Ñ?Ñ? ÍñÑè Æ?ÐÜÊúÇ?È?ÄÒ Í××ðÖÔÐßÏÅ
Ò?ÑÆÅ×Ï?Ì-, ×ÑÇÞÁçÇ?ÐÜ ÍÓÐë×âÆ? ÈÅÔÏ ÏÙÌ× -R
ÇÞ
Ñ?Ñ? Ñ?Ñ?×á ÀöÇÞ, Ø?ÀöÊ?Ì? LD_LIBRARY_PATH
ÇÞ
Ñ?Ñ?×á ÀöÇÞ Ø?ÐÊ /usr/lib
ÏÅÌ- Ð?ÄàÍÊ ÇÞÄ?ÀÅ
libfoo.so
È? Ó?ÐË Ì? ÐæÄé. ÁçÇ?Èù Í××ð×ÑÇÞÁçÇ?Ð×
(ÎÖÑ? È?Ó?ÐÊ(unresolved)) ÍÙÊÌ(symbol)ÐË DSOÏÅÌ- Ó?ÀäÅØÄé.
DSOÄÒ ÊÈÕû Í××ð×ÑÇÞÁçÇ?Ð× ÍÙÊÌÐË Ó?Ñ?ÎÚÁò Æ?É?ÏÅ (DSOÀÅ
Ð÷Ë÷ÏûÀÅÄÙ×á ÐßÉíÐ?ÐÞ ÔêÅõ Æ?ÐÜÊúÇ?È?ÐÜÉ×ÇÞ) Ó?ÁòÄÒ Ï?ÁòÌ-
ÃÅÃ-Äé. Ð?ÄàÍÊ ÇÞÄ?ÀÅ ÍÙÊÌ Ó?ÁòÈ? ÏßÐ?Ø? ÄóÄ÷×ßÉ×ÇÞ Í××ð×ÑÇÞÁçÇ?ÐÜ
Ñ?Ñ? DSOÏÅÌ- ÍÙÊÌÐË Ó?ÐË ×ÚÏôÀÅ Î?Äé. (Ë÷Í× ld.so
È?
ÊÞÈ?ÄÒ ÔêÅõÄÒ Ñ?Ð?ÐÜ ÎÖÄá È?Å÷ Í××ð×ÑÇÞÁçÇ?ÏÅ ÈÅÕ?Å×ÄÒ Í××ðÍÓ
ÍÓÐëÔêÅõÐ× ÐßÊÞÄé.) À?ÕûÅØ Æ?ÐÜÊúÇ?È? ÔêÅõÈ? ÅÏÐ?ÐÈÇÞ ÐàÎþÅùÐÜÄÒ
ÐõÑÅÐÊ ÈýØ?×ßÄé. Æ?ÐÜÊúÇ?È? ÔêÅõÀÅ È?Å÷ ×ÑÇÞÁçÇ?ÏÅ ÑïÊÉ×èÌ-
Ð?ÐõÅ×ÄÒ ÄûÍÕ libc.so
ÏÝ ÀÀÐÊ ÍÓÍÊÕë Æ?ÐÜÊúÇ?È?ÏÅ
×áÉ?ÈÈ Ð?ÐõÅ×Áò Æ?É?ÏÅ Å?ÍÊÕ? À?À?ÐÜ ÐÎðÅØÄé.
ÅÞÉ?ÒÀ ÀöÏü DSOÈ? ÊÈÕû À?Ð?ÀÄÓÌ(shared objects)
Ø?ÐÊ DSO ÖÔÐßÐÜÆ?Àý ÊÞÈ?Àý, (ÁäÔ?Ë? ÐÜÈ?ÐÊ
foo.so
ÐÜÑ?ÈÈ) ÖÔÐßÐ× Ø?ÐõÐêÄÒ ÐêÐ?ÇãÄé. ÐÜ
ÖÔÐßÅùÐÊ ÊÈÕû ×ÑÇÞÁçÇ? ÐêÓÌ Å?ÇÊÕôÈ?ÏÅ Ð?ÔÅ×ßÀý Í××ð×ÑÇÞÁçÇ?ÏÅ
ÐêÅÏÐÈÇÞ Ï?ÀñÅ×Ñ? ÎÚÄÒÄé. ÄûÍÕ Í××ð×ÑÇÞÁçÇ?ÐÊ Í××ðÍÓ
dlopen()
ÐË Ë÷Ïû×ßÏ? DSOÈ? ÑæÌâÀ?À?ÏÅ
Ñ?Ñ? ÐàÎþÅùÏ?Îï ×áÄé. ÐÜÆ? Í××ð×ÑÇÞÁçÇ?ÐÊ DSOÏÅÌ- ÍÙÊÌÐË
Ó?Ñ? ÎÚÄÒÄé. ÄûÍÕ ÎåÏÅÌ- ÊË Ð?ÄàÍÊ ÇÞÄ?ÄÒ ÐêÅÏÐÈÇÞ Í××ðÖÔÐßÀ?
Í××ðÖÔÐßÐÜ ÐÜÉÜ ÐàÎþÅùÐÞ DSO Æ?ÐÜÊúÇ?È?(Ö?Ø? ×çË? ÑÈÐ÷×ßÄÒ
libc.so
Ð× È?Å÷ ÍÙÊÌ)ÏÅÌ- DSOÐ× (ÎÖÑ? È?Ó?ÐÊ)
ÍÙÊÌÐË Ó?ÄÒÄé. ÁçÇÅÌ- DSOÄÒ ÈÆÔÅ ÓÃÐÍÊÞÕÝ Í××ð×ÑÇÞÁçÇ?ÏÅ
Ñ?Ð?ÐÈÇÞ ÈÅÕ?ÅØÀÝÀ? ÀÀÐÜ Í××ðÖÔÐßÐ× ÍÙÊÌÐË ÎÛÀäÅØÄé.
DSOÐ× APIÈ? ÐÜÏû×ßÁòÐ?×èÌ- ÈÆÑ?ÈÇÐÈÇÞ Í××ð×ÑÇÞÁçÇ?ÐÊ
dlsym()
ÐÈÇÞ DSOÏÅÌ- Ö?Ñ? ÍÙÊÌÐË Ó?ÎÖÌ-, ÎåÐÈÇÞ
Ë÷Ïû×ßÁòÐ?×è Å?ÍÊÖàÔÅ(dispatch) ×? ÅþÏÅ Ð?Ðõ×áÄé.
ÄéÈ? ÈËÇÞ Í××ð×ÑÇÞÁçÇ?ÐÊ Ë÷Ïû×â È?Å÷ Í×ÊÌÐË Ñ?Ñ? Ó?ÎÖÎï×áÄé.
ÐÜÇÁ ÁÈÑÆÐ× ÐõÑÅÐÊ ×ÑÇÞÁçÇ?Ð× ÐßÊÞÈ? ×ÑÇÞÁçÇ?ÐÜ
×ÚÏô×âÆ?ÁþÑ? ÐàÎþÅùÐÜÑ? ÎÚÎÖÅÅ (ÁçÇÅÌ- ÈîÈ?È?È? ÃÆÊå×ßÑ?
ÎÚÀä) ÅØÄéÄÒ ÑÅÐÜÄé. ÁòÊË ×ÑÇÞÁçÇ?Ð× ÁòÄÙÐË Ø?Ðõ×ßÁòÐ?×è
×ÚÏô×á ÀöÏü ÐÜ ÊÞÊàÐË ÅÏÐ?ÐÈÇÞ ÐàÎþÅùÐß Ì? ÐæÄé.
ÐÜÇÁ DSO ÁÈÑÆÀÅ ÐêÏ?ÍÊÇÄÀä ÊÈÐÜÑ?ÈÈ, ÓæÌâ×á ÎþÇÑÏþ ÑÅÐÜ ×áÀÅÑ?ÐæÄé. ×ÑÇÞÁçÇ?ÐË Ø?Ðõ×ßÁòÐ?×è DSOÈ? Ë÷Ïû×âÆ? DSOÀÅ Í××ð×ÑÇÞÁçÇ?Ð× ÍÙÊÌÐË Ó?ÄÒ ÐßÐÜÄé. Ïæ? DSOÀÅ Í××ð×ÑÇÞÁçÇ?Ð× ÍÙÊÌÐË "Ï?ÐÈÇÞ Ó?ÄÒ ÀÝ"ÐÊ (Æ?ÐÜÊúÇ?È?ÄÒ ÐêÍÕÐË Ë÷Ïû×ßÄÒ ×ÑÇÞÁçÇ?ÏÅ Äû×è È?È?ÄéÄÒ) Æ?ÐÜÊúÇ?È? ÌÃÀøÏÅ Éí×ßÈ÷, È?Å÷ ×ÓÇÅÖ?ÏÅÌ- Ñ?Ï?Å×Ñ?ÎÚÀý ×?ÑèØ-Å×Ñ?ÅÅ ÎÚÎâÁò Æ?É?ÐÜÄé. Í×Ñ?ÇÞ Í××ðÖÔÐßÐ× Ð?Ï?ÍÙÊÌ(global symbol)ÐÊ ÊÈÕû ÐÝÍÊÖ?Ö?(export)Å×Ñ? ÎÚÁòÆ?É?ÏÅ DSOÀÅ Ë÷Ïû×â Ì? Î?Äé. DSOÈ? Ë÷Ïû×ßÏ? Í××ðÑï ×ÑÇÞÁçÇ?ÐË Ø?Ðõ×ßÇÑÈù ÈÅÔÏÏÅÀä È?Å÷ Ð?Ï?ÍÙÊÌÐË ÐÝÍÊÖ?Ö?×ßÅÅÇß À-Ñ?×ßÄÒ ÀÝÐÜ ÑæÅØ ×èÀñÓ?ÐÜÄé.
À?Ð?Æ?ÐÜÊúÇ?È?ÄÒ DSO ÉöÍÔÐ× ÌÃÀøÏ?Ô?ÄûÇÞ Ð?×?Ð?ÐÜÁòÆ?É?ÏÅ ÏþÏÅÓÌÑ?ÀÅ Ñ?À?×ßÄÒ ÀÕÐ× È?Å÷ ÑÎÇ?Ð× Æ?ÐÜÊúÇ?È?ÀÅ Ë÷Ïû×áÄé. ÉíÄûÇÞ ÈÉÐÊ ×ÑÇÞÁçÇ?ÐÊ ×ÑÇÞÁçÇ?ÐË Ø?Ðõ×ßÁòÐ?×è À?Ð?ÀÄÓÌÈ? Ë÷Ïû×ßÑ? ÎÚÄÒÄé.
1998Ãò Í××ðÑï Í×Ñ?ÇÞ ÁòÄÙÐË Ø?Ðõ×ßÁòÐ?×è DSO ÁÈÑÆÈ? Ë÷Ïû×á Ìâ×ÑÖ?Ï?Îþ ÖàÕÀÑ?ÄÒ (XS ÁÈÑÆÏÝ DynaLoader È?ÅòÐË Ë÷Ïû×á) Perl 5, Netscape Server ÅþÐÈÇÞ ÅõÉÀÎ?Äé. ÎÖÖÔÔÅÄÒ ÐÜÉÜ ÁòÄÙÐË Ø?Ðõ×ßÁòÐ?×è È?Åò ÀÃÃôÐË Ë÷Ïû×ïÀý ÏìÊÞ È?ÅòÐË ÎÖÖÔÔÅ ×éÍÙÁòÄÙÏÅ Ï?Àñ×ßÁòÐ?×è ÃËÊÞÐ?ÐÈÇÞ Å?ÍÊÖàÔÅÈåÇßÐË ÐÜÏû×á Ñ?ÁéÉöÉÐË Ë÷Ïû×ïÁòÆ?É?ÏÅ 1.3 É?Ð?ÊÞÕÝ ÐÜ ÄûÏ-ÏÅ ×åÇ?×ïÄé. ÁçÇÅÌ- ÎÖÖÔÔÅÄÒ Í××ðÑï È?ÅòÐË ÐàÎþÅùÐÜÄÒÅ? DSOÈ? Ë÷Ïû×ßÅÅÇß ÏþÈýÑ?Ï?ÑÃÄé.
ÎåÏÅÌ- ÈË×á DSOÈ? Ë÷Ïû×ßÈù ÄéÐÍÀ? ÀÀÐÊ ÐõÑÅÐÜ ÐæÄé:
configure
ÏÙÌ×ÄûÍÕ httpd.conf
Ð× LoadModule
ÐË Ë÷Ïû×ßÏ? Í××ðÑïÏÅ
Àñ×åÅ×É×ÇÞ Ì-É? ÖàÕÀÑ? Í××ðÐÜ Ä? Ð?Ï?×ßÄé. ÏÉÈ? ÅùÎþ ×áÉ?Ð×
ÎÖÖÔÔÅ ÌÃÔÅÈÈÐÈÇÞ ÄéÈ? Ì-É?(×?Ñè É?Ð?À? SSL É?Ð?, ÓæÌâØ-
É?Ð?À? ÁòÄÙÓïÀÅ É?Ð? [mod_perl, PHP3] Åþ)È? Í××ð×â
Ì? ÐæÄé.apxs
È? ÀÅÑ?Àý ÎÖÖÔÔÅ ÌâÍÊ Ö?È? ÉëÏÅÌ-
ÐëÎ?×ßÀý apxs -i
ÏÝ apachectl restart
ÈýÇÙÎþÈÈÐÈÇÞ ×?Ð÷ ÀÃÉï×á È?ÅòÐ× Ë? É?Ð?ÐË Í××ðÑïÐÞ ÎÖÖÔÔÅ
Ì-É?ÏÅ ÉíÏÅ×â Ì? ÐæÎþÌ- Ä? ÍÁÀä ÎÖÖÔÔÅ È?ÅòÐË ÀÃÉï×â Ì?
ÐæÄé.DSOÄÒ ÄéÐÍÀ? ÀÀÐÊ ÄìÑÅÐÜ ÐæÄé:
ld -lfoo
)ÏÅ
ÈÅÕ?×â Ì? Î?ÄÒ ×ÓÇÅÖ?ÐÜ ÐæÁòÆ?É?ÏÅ (ÏÉÈ? ÅùÎþ ELFÁòÉí
×ÓÇÅÖ?ÐÊ Ñ?Ï?×ßÑ?ÈÈ a.outÁòÉí ×ÓÇÅÖ?ÐÊ ÊÈÕû ÐÜ ÁòÄÙÐË
Ñ?Ï?×ßÑ? ÎÚÄÒÄé) È?Å÷ ÑÎÇ?Ð× È?ÅòÏÅ DSOÈ? Ë÷Ïû×â Ì? Î?Äé.
ÄéÈ? ÈËÇÞ DSO ÖÔÐßÇÞ ÔÔÖÔÐß×ßÄÒ È?ÅòÐÊ ÎÖÖÔÔÅ ×éÍÙÀ? ÎÖÖÔÔÅ
×éÍÙÐÜ Ë÷Ïû×ßÄÒ C Æ?ÐÜÊúÇ?È?(libc
)ÏÝ ÄéÈ?
ÅÏÐ?/Ñ?Ð? Æ?ÐÜÊúÇ?È?, Ð?ÔÅÅÆÈÃÔêÅõÈ? ÄóÀý ÐæÄÒ Ñ?Ð? Æ?ÐÜÊúÇ?È?
ÎÖÔ?ÐÜÊú(libfoo.a
)Ð× ÍÙÊÌÈÈÐË Ë÷Ïû×â Ì? ÐæÄé.
ÄéÈ? ÔêÅõÈ? Ë÷Ïû×ßÇÑÈù ÎÖÖÔÔÅ ×éÍÙÐÜ ÁçÀÝÐË Ò?ÑÆ×ßÄ?Ñ?,
dlopen()
ÐÈÇÞ Ñ?Ñ? ÔêÅõÈ? ÐàÎþÅùÏ?Îï ×áÄé.