1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296
|
<?xml version="1.0" encoding="EUC-JP"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>ưŪ֥ͭ (DSO) ݡ - Apache HTTP </title>
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="./images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="./mod/">⥸塼</a> | <a href="./mod/directives.html">ǥ쥯ƥ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Ѹ</a> | <a href="./sitemap.html">ȥޥå</a></p>
<p class="apache">Apache HTTP С 2.2</p>
<img alt="" src="./images/feather.gif" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP </a> > <a href="http://httpd.apache.org/docs/">ɥơ</a> > <a href="./">С 2.2</a></div><div id="page-content"><div id="preamble"><h1>ưŪ֥ͭ (DSO) ݡ</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="./en/dso.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="./ja/dso.html" title="Japanese"> ja </a> |
<a href="./ko/dso.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
<p>Apache HTTP Фϥ⥸塼벽줿ץǡ
Ԥ⥸塼뤳ȤǥФȤ߹ൡǽ֤ȤǤޤ
⥸塼ϥФӥɤȤ <code class="program"><a href="./programs/httpd.html">httpd</a></code> Хʥ
ŪȤ߹ळȤǤޤ⤷ϡ<code class="program"><a href="./programs/httpd.html">httpd</a></code> ХʥȤ
̤¸ߤưŪ֥ͭ (: Dynamic Shared Object)
(DSO) Ȥƥѥ뤹뤳Ȥ
ǤޤDSO ⥸塼ϥФӥɤȤ˥ѥ뤷ꡢ
Apache ĥġ (<code class="program"><a href="./programs/apxs.html">apxs</a></code>)
ȤäƸǥѥ뤷ɲäǤޤ</p>
<p>ʸ DSO ⥸塼λȤȡȤߤˤĤ
ޤ</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#implementation"></a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#usage">ˡγ</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#background">ط</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#advantages">ȷ</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="implementation" id="implementation"></a></h2>
<table class="related"><tr><th>Ϣ⥸塼</th><th>Ϣǥ쥯ƥ</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_so.html">mod_so</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code></li></ul></td></tr></table>
<p>ġ Apache ⥸塼ɤ뤿 DSO ݡȤ
<code class="module"><a href="./mod/mod_so.c.html">mod_so.c</a></code> Ȥ⥸塼εǽ˴ŤƤޤ
Υ⥸塼 Apache ΥŪȤ߹ޤƤɬפޤ
<code class="module"><a href="./mod/core.c.html">core.c</a></code> ʳǤ DSO ˤǤʤͣ
⥸塼Ǥ¾塢¾Τ٤Ƥ Apache Υ⥸塼ϡ
<a href="install.html">ȡʸ</a>Ƥ褦ˡ
<code class="program"><a href="./programs/configure.html">configure</a></code>
<code>--enable-<em>module</em>=shared</code> ץǤ줾
DSO ӥɤˤ뤳ȤˤꡢDSO ⥸塼ˤ뤳ȤǤޤ
<code>mod_foo.so</code> Τ褦 DSO ˥⥸塼뤬ѥ뤵С
<code>httpd.conf</code> ե <code class="module"><a href="./mod/mod_so.html">mod_so</a></code>
<code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code>
ǥ쥯ƥ֤ȤȤǥФεưƵưˤΥ⥸塼
ɤ褦ˤǤޤ</p>
<p>Apache ⥸塼Ѥ (ä˥ɥѡƥ⥸塼) DSO ե
ñˤ뤿ˡ<code class="program"><a href="./programs/apxs.html">apxs</a></code>
(<dfn>APache eXtenSion</dfn>) Ȥݡȥץबޤ
Apache Υĥ<em></em> DSO ⥸塼ӥɤ뤿
ȤȤǤޤȯۤñǤ: Apache Υȡ
<code class="program"><a href="./programs/configure.html">configure</a></code><code>make install</code> ΤȤ Apache
C إåȡ뤷DSO ӥѤΥץåȥե¸
ѥȥΥե饰 <code class="program"><a href="./programs/apxs.html">apxs</a></code> ץɲäޤ
ˤꡢ桼 Apache ۥĥʤǡ
DSO ݡȤΤΥץåȥե¸Υѥ
ե饰뤳Ȥʤ Apache Υ⥸塼Υѥ
Ǥ褦ˤʤޤ</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="usage" id="usage">ˡγ</a></h2>
<p>Apache 2.0 DSO ǽγάΤ뤳ȤǤ뤿Ρ
ûʷʳפǤ:</p>
<ol>
<li>
<em>ۤƤ</em> Apache ⥸塼롢 <code>mod_foo.c</code>
Ȥơ DSO <code>mod_foo.so</code> ˥ӥɡȡ:
<div class="example"><p><code>
$ ./configure --prefix=/path/to/install --enable-foo=shared<br />
$ make install
</code></p></div>
</li>
<li>
<em>ɥѡƥ</em> Apache ⥸塼롢 <code>mod_foo.c</code>
Ȥơ DSO <code>mod_foo.so</code> ˥ӥɡȡ:
<div class="example"><p><code>
$ ./configure --add-module=<var>module_type</var>:/path/to/3rdparty/mod_foo.c \<br />
<span class="indent">
--enable-foo=shared<br />
</span>
$ make install
</code></p></div>
</li>
<li>
ͭ⥸塼 <em>塹Υȡ</em> Τ
Apache :
<div class="example"><p><code>
$ ./configure --enable-so<br />
$ make install
</code></p></div>
</li>
<li>
<em>ɥѡƥ</em> Apache ⥸塼롢 <code>mod_foo.c</code>
Ȥơ <code class="program"><a href="./programs/apxs.html">apxs</a></code> Ȥä
Apache ĥ<em></em> DSO ˥ӥɡȡ:
<div class="example"><p><code>
$ cd /path/to/3rdparty<br />
$ apxs -c mod_foo.c<br />
$ apxs -i -a -n foo mod_foo.la
</code></p></div>
</li>
</ol>
<p>ɤξˤƤ⡢ͭ⥸塼ѥ뤷ǡ
<code>httpd.conf</code>
<code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code>
ǥ쥯ƥ֤Ȥä Apache ⥸塼Ѥ褦
ʤФʤޤ</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="background" id="background">ط</a></h2>
<p>Ƕ Unix Ϥ OS ˤ <em>ưŪ֥ͭ</em> (DSO)
ưŪ/ɤȤΤ
¸ߤޤϡ¹Ի˥ץΥɥ쥹֤
ɤǤ褦̤ʷǥץӥɤ뤳Ȥ
ǽˤޤ</p>
<p>ΥɤĤˡǹԤʤȤǤޤ: ¹ԥץब
ư줿Ȥ <code>ld.so</code> Ȥƥץ
ˤ꼫ưŪ˹Ԥʤˡȡ¹ԥץ椫顢ƥॳ
<code>dlopen()/dlsym()</code> ˤ Unix ؤ
ץॷƥΥեȤäƼưǹԤʤˡȤ
ޤ</p>
<p>ǽˡǤ DSO ̤<em>ͭ饤֥</em> <em>DSO
饤֥</em> ȸƤФƤơDSO ̾
<code>libfoo.so</code> <code>libfoo.so.1.2</code> Τ褦ˤʤäƤޤ
ϥƥǥ쥯ȥ (̾ <code>/usr/lib</code>) ¸ߤ
¹ԥץؤΥϥӥɻ <code>-lfoo</code>
ꤹ뤳ȤdzΩޤˤ饤֥ؤλȤ¹ԥץ
ե˽ޤơư Unix Υ <code>/usr/lib</code> 䡢
<code>-R</code> Τ褦ʥץˤϡɥɤ줿ѥ
Ķѿ <code>LD_LIBRARY_PATH</code> ˤꤵ줿ѥ椫
<code>libfoo.so</code> ξĤ뤳ȤǤޤ줫顢
¹ԥץ (ޤ̤) ܥ DSO ˤ륷ܥ
褷ޤ</p>
<p>̤ϼ¹ԥץΥܥ DSO ϻȤޤ
(DSO ϰŪʥɤˤѲǽʥ饤֥ǤΤ)
Ǥ顢ʤ륷ܥβɬפޤ
ܥ Unix ˤ괰ʲ褬ԤʤޤΤǡ¹ԥե뼫Ȥ
⤹ɬפޤ(ºݤΤȤŪǤʤˡǥƤ
٤Ƥμ¹ԥץȤ߹ޤƤ볫ѤΥɤΰ
<code>ld.so</code> ư륳ɤޤޤƤޤ)褯Ȥ
饤֥ưŪɤ餫Ǥ饤֥Υɤ
ƥ饤֥ <code>libc.so</code> Τ褦ˤư¸Ǥ褯
ץΤɬפʥǥΰ뤳ȤǤޤ</p>
<p>ĤˡǤ DSO ̤<em>֥ͭ</em>
<em>DSO ե</em>ȸƤФƤơǤդγĥҤդ뤳ȤǤޤ
(ɸŪ̾ <code>foo.so</code> Ǥ)
Υե̾ϥץѤΥǥ쥯ȥ֤졢
Ȥ¹ԥץؤΥϼưŪˤϤޤ
ǤΤǡ¹ԥץ <code>dlopen()</code> Ȥä
¹Ի˼ư DSO ץΥɥ쥹֤˥ɤɬפޤ
λǤϼ¹ԥץФ DSO ΥܥβϹԤʤޤ
Unix Υ DSO (ޤ̤) ܥ
¹ԥץˤꥨݡȤ줿ܥȴ˥ɤ줿
DSO 饤֥ˤꥨݡȤ줿ܥ (äˡɤˤǤ⤢
<code>libc.so</code> Τ٤ƤΥܥ) ǼưŪ˲褷ޤ
뤳ȤǡDSO Ϻǽ餫Ū˥ƤΤ褦ˡ
¹ԥץΥܥΤ뤳ȤǤޤ</p>
<p>ǸˡDSO API ˡץ
ǥǥѥåơ֥<em>ʤ</em>ǥܥȤȤǤ褦ˡ
<code>dlsym()</code> ȤäƤĤΥܥ褷ޤ
ʤ: ¹ԥץɬפʤ٤ƤΥܥưDz褷ʤ
ʤޤεϥץΥץʥʬ
ɬפˤʤޤǥɤɬפʤ (ʤ)
ȤǤɬפʤСܥץεǽĥ뤿
ʬưŪ˥ɤ뤳ȤǤޤ</p>
<p> DSO ϴñʤ褦˸ޤʤȤ
ޤ: ץĥ뤿 DSO ȤäƤȤˡ
DSO ¹ԥץफ饷ܥ褹Ǥ (ܤˡ)
ϤʤǤ礦ϡDSO Υܥ¹ԥץ
ܥ뤫ֵղפȤΤϥ饤֥߷
(饤֥ϤѤץΤȤϲ
Τʤ) ȿƤơεǽϤ٤ƤΥץåȥե
櫓ǤϤʤɸಽ⤵ƤʤǤ
ºݤˤϼ¹ԥץΥХʥܥϺƥݡȤ뤳Ȥ
ޤʤDSO ȤȤǤޤ˥Х륷ܥ뤹٤Ƥ
ݡȤ褦ˤˡĤ뤳Ȥ¹Ի˥ץ
ĥ뤿 DSO ȤȤΰ֤Ǥ</p>
<p>ͭ饤֥Υץ̤ˡǤDSO ϤΤ
߷פ줿ΤǤ顣äơˡϥڥ졼ƥƥब
ۤȤɤ٤ƤμΥ饤֥ǻȤƤޤ
ץγĥΤ˶֥ͭȤѤ롢Ȥ
ޤȤƤޤ</p>
<p>1998 ǯλǡ¹Ի˼ºݤ˵ǽĥΤ DSO ȤäƤ
եȥѥåϾǤ: Perl 5 (XS DnaLoader ⥸塼
ˤ)Netscape <em>ʤ</em>ǤApache ϤǤ
⥸塼γǰȤäƵǽĥƤơŪ˥ǥѥåꥹȤ
Ť⥸塼 Apache ǽؤΥԤʤäƤޤΤǡ
С 1.3 顢Apache DSO Ȥ֤ˤʤޤ
Apache ϼ¹Ի DSO Ȥäƥ⥸塼ɤ褦ˤǤ
̿դƤΤǤ</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="advantages" id="advantages">ȷ</a></h2>
<p>嵭 DSO ˴Ťǽϰʲޤ:</p>
<ul>
<li>ºݤΥХץȤΩƤ뤿ˡ
ӥɻ <code>configure</code> ΥץȤ
¹Ի <code>httpd.conf</code> ѥޥ
<code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code>
ȤȤǤޤΤǡХѥåνޤޤ
ȤСĤ Apache Υȡ뤫
㤦Υ (ɸǤ SSL ǡǾȳĥ [mod_perl, PHP3]
<em>ʤ</em>) ¹Ԥ뤳ȤǤޤ</li>
<li>ȡθǤäƤ⡢ФΥѥåɥѡƥ
⥸塼Ǵñ˳ĥǤ褦ˤʤޤϡApache
ѥåȡPHP3, mod_perl, mod_fastcgi <em>ʤ</em> ɲä
ѥåǤΤǡʤȤ٥ΥѥåԤˤȤä
礭ޤ</li>
<li>Apache ⥸塼γȯñˤʤޤ
DSO <code class="program"><a href="./programs/apxs.html">apxs</a></code> Ȥ߹碌ˤꡢApache ĥ
ǺȤǤȯΥ⥸塼οС
¹ Apache ФȤ߹ि <code>apxs -i</code>
<code>apachectl restart</code> Ԥʤɤʤ뤫Ǥ</li>
</ul>
<p>DSO ˤϰʲηޤ:</p>
<ul>
<li>٤ƤΥڥ졼ƥƥबץΥɥ쥹֤
ɤưŪɤ뤳ȤݡȤƤǤϤʤΤǡ
ץåȥեˤäƤ DSO ϻȤޤ</li>
<li>Unix ΥܥβɬפǤΤǡ
ΥХإåɤˤꥵФεư֤ 20% ٤ʤäƤޤ</li>
<li>¸ (PIC) ( position independent code)
Хɥ쥹Τʣʥ֥ΥȥåɬפʤȤꡢ
ɬХɥ쥹Ʊ餤®٤Ǥ櫓ǤϤޤΤǡ
ץåȥեˤäƤϥФμ¹®٤ 5% ٤ʤޤ</li>
<li>DSO ⥸塼Ϥ٤ƤΥץåȥե¾ DSO ˴Ť
饤֥ФƥǤ (<code>ld -lfoo</code>)
Ȥ櫓ǤϤޤΤ (ȤСa.out ΥץåȥեǤ
εǽϤޤELF ΥץåȥեˤϤޤ)
٤ƤμΥ⥸塼 DSO Ȥ櫓ǤϤޤ
ȡDSO եȤƥѥ뤵줿⥸塼
Ȥ륷ܥϡ
Apache ΥΥܥ롢C 饤֥ (<code>libc</code>)
Apache ȤäƤ¾Τ٤ƤŪʥ饤֥ưŪ饤֥
ܥ롢PIC ˤŪʥ饤֥ (<code>libfoo.a</code>)
ܥΤߤ¤ޤ¾ΥɤȤˡϡ
Apache ȤǤˤΥɤؤλȤ褦ˤ뤫
<code>dlopen ()</code> ȤäƥɤʬȤǥɤ뤫
ɤ餫ޤ</li>
</ul>
</div></div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="./en/dso.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="./ja/dso.html" title="Japanese"> ja </a> |
<a href="./ko/dso.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div id="footer">
<p class="apache">Copyright 2006 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">⥸塼</a> | <a href="./mod/directives.html">ǥ쥯ƥ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Ѹ</a> | <a href="./sitemap.html">ȥޥå</a></p></div>
</body></html>
|