File: /opt/bitnami/apache2/manual/dso.html.ko.euc-kr
<?xml version="1.0" encoding="EUC-KR"?>
<!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="ko" xml:lang="ko"><head>
<meta content="text/html; charset=EUC-KR" http-equiv="Content-Type" />
<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>����������ü (DSO) ���� - Apache HTTP Server Version 2.4</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 rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
<script src="./style/scripts/prettify.min.js" type="text/javascript">
</script>
<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="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">���</a> | <a href="./sitemap.html">���Ʈ��</a></p>
<p class="apache">Apache HTTP Server Version 2.4</p>
<img alt="" src="./images/feather.png" /></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 Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.4</a></div><div id="page-content"><div id="preamble"><h1>����������ü (DSO) ����</h1>
<div class="toplang">
<p><span>������ ���: </span><a href="./en/dso.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="./fr/dso.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
<a href="./ja/dso.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/dso.html" title="Korean"> ko </a> |
<a href="./tr/dso.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
<div class="outofdate">�� ������ �ֽ��� ������ �ƴմϴ�.
�ֱٿ� ����� ���� ���� ������ ����ϼ���.</div>
<p>����ġ �������� �����ڰ� ���� �����Ͽ� ������ �����
���� ���� �� �ִ� ���ȭ�� ��α��̴�. ������ �����Ҷ�
<code>httpd</code> ������Ͽ� �������� ��� �������
�� �ִ�. �ƴϸ� ��� <code>httpd</code> ������ϰ�
�и��Ͽ� ����������ü(Dynamic Shared Objects, DSO)�� �������
�� �ִ�. DSO ��� ������ ������Ҷ� ������ϰų�, Apache
Extension Tool (<a href="programs/apxs.html">apxs</a>)��
����Ͽ� ���߿� ������Ͽ� �߰��� �� �ִ�.</p>
<p>�� ������ DSO ��� ����� ��� �̷�� �����Ѵ�.</p>
</div>
<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><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><h3>���</h3><ul class="seealso"><li><a href="#comments_section">Comments</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>����ġ �ٽɿ� �������� ������ؾ���
<code class="module"><a href="./mod/mod_so.c.html">mod_so.c</a></code>��� ��� ����ġ ���
�о��̱��� DSO�� �����Ѵ�.
�� ��� <code class="module"><a href="./mod/core.html">core</a></code>�� �����ϰ� DSO��
�� �� ���� ������ ���̴�. ����� �ٸ� ��� ����ġ ���
<a href="install.html">��ġ ����</a>���� ������
<code>configure</code>�� <code>--enable-<em>module</em>=shared</code>
�ɼ�� ����Ͽ� 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>����ġ ���(Ư� ����ڰ� ���� ���)�� ����� DSO ���� ����
������� <a href="programs/apxs.html">apxs</a> (<em>APache
eXtenSion</em>)��� ���ο� ���� ��α��� �ִ�. �� ��α���
����ġ �ҽ� Ʈ�� <em>�ۿ���</em> DSO�� ����� ���
������Ҷ� ����Ѵ�. ���� ����. ����ġ�� ��ġ�Ҷ�
<code>configure</code>�� <code>make install</code>��
����ġ C ������ ��ġ�ϰ�, DSO ���� ������ϱ���
�÷�� Ư���� ����Ϸ� �ɼǰ� ��Ŀ �ɼ�� <code>apxs</code>
��α��� ����Ѵ�. ���� <code>apxs</code>�� ����ϴ� ���ڴ�
����ġ ����� �ҽ� Ʈ������, �� 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="usage" id="usage">��� ���</a></h2>
<p>Apache 2.2�� DSO ��ɿ� ���� ª�� ������ ���̴�:</p>
<ol>
<li>
<em>������� �ִ�</em> ����ġ ��� ������ϰ� ��ġ�ϴ�
���. ���� ��� <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> ����ġ ��� ������ϰ� ��ġ�ϴ�
���. ���� ��� <code>mod_foo.c</code>�� DSO
<code>mod_foo.so</code>��:
<div class="example"><p><code>
$ ./configure --add-module=module_type:/path/to/3rdparty/mod_foo.c --enable-foo=shared<br />
$ make install
</code></p></div>
</li>
<li>
���� ��� <em>���߿� ����ϱ���</em> ����ġ�� �����ϴ�
���:
<div class="example"><p><code>
$ ./configure --enable-so<br />
$ make install
</code></p></div>
</li>
<li>
<em>����ڰ� ����</em> ����ġ ��� ������ϰ� ��ġ�ϴ�
���. <a href="programs/apxs.html">apxs</a>�� ����Ͽ�
����ġ �ҽ� Ʈ�� <em>�ۿ���</em> <code>mod_foo.c</code>��
DSO <code>mod_foo.so</code>��:
<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> ���þ
����Ͽ� ����ġ�� �� ��� �о��̰� �����.</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>����� ���н������� <em>����������ü</em> (DSO)��
���� ��ŷ/�ε�(dynamic linking/loading)�̶�� �Ͽ�, Ư����
���� �����ڵ� ������ ����� ������ ������α���
�ּҰ����� �о��̴� ��� ���� �ִ�.</p>
<p>���� �ΰ��� ������ �о��� �� �ִ�. �ϳ��� ������α���
����Ҷ� <code>ld.so</code>��� �ý��� ��α��� �ڵ�����
�о��̴� ����, �ٸ� �ϳ��� ������ ��α���
<code>dlopen()/dlsym()</code> �ý���ȣ��� ���н� �δ�(loader)��
�ý��� ������̽��� ����Ͽ� ���� �о��̴� ����.</p>
<p>ù��° ��� DSO�� ���� <em>������̺귯��(shared libraries)</em>
Ȥ�� <em>DSO ��̺귯��</em>��� �θ���, ����
<code>libfoo.so</code>�� <code>libfoo.so.1.2</code> ����
�̸��� ������. �̵� �ý��� ���丮(���� <code>/usr/lib</code>)��
�ְ�, ����Ͻ� ��Ŀ ��ɾ <code>-lfoo</code>�� �־�
������ϰ� �����Ѵ�. �̷��� ���� ��� ��̺귯���� ������Ͽ�
����ǿ���, ��α��� ����Ҷ� ��Ŀ �ɼ� <code>-R</code>��
���� ������ ���, ȯ�溯�� <code>LD_LIBRARY_PATH</code>��
������ ��� Ȥ�� <code>/usr/lib</code>���� ���н� �δ���
<code>libfoo.so</code>�� ã�� �� �ִ�. ���� ������α���
(��� ��ã��(unresolved)) �ɺ�(symbol)�� DSO���� ã�Եȴ�.</p>
<p>DSO�� ���� ������α��� �ɺ��� ã���ʱ� ������ (DSO��
���밡���� �Ϲ���� �ڵ� ��̺귯���̹Ƿ�) ã��� ���⼭
������. ���н� �δ��� �ɺ� ã�⸦ ���� ����ϹǷ� ������α���
���� DSO���� �ɺ��� ã�� �ʿ䰡 ����. (��� <code>ld.so</code>��
�θ��� �ڵ�� ������ �ƴ� ��� ������α��� ��ũ�Ǵ� �����
����ڵ�� �Ϻδ�.) ����� ��̺귯�� �ڵ带 �������� �о��̴�
���� ��Ȯ�ϴ�. ��̺귯�� �ڵ尡 ��� ��α��� �ߺ��ؼ�
����Ǵ� ��� <code>libc.so</code>�� ���� �ý��� ��̺귯����
�ѹ��� ����DZ� ������ ��ũ ������ ����ȴ�.</p>
<p>�ι�° ��� DSO�� ���� <em>������ü(shared objects)</em>
Ȥ�� <em>DSO ���</em>�̶�� �θ���, (��Ģ�� �̸���
<code>foo.so</code>�����) ���� Ȯ��ڴ� ����Ӵ�. ��
��ϵ� ���� ��α� ��ü ���丮�� ��ġ�ϰ� ������α���
�ڵ����� ������ �ʴ´�. ��� ������α��� �����
<code>dlopen()</code>�� ����Ͽ� DSO�� �ּҰ�����
���� �о�鿩�� �Ѵ�. �̶� ������α��� DSO���� �ɺ���
ã�� �ʴ´�. ��� �տ��� �� ���н� �δ��� �ڵ����� ������ϰ�
�������� �̹� �о��� DSO ��̺귯��(Ư� �� �����ϴ�
<code>libc.so</code>�� ��� �ɺ�)���� DSO�� (��� ��ã��)
�ɺ��� ã�´�. ���� DSO�� ��ġ ó������ ������α���
�������� ��ũ�ȰͰ� ���� �������� �ɺ��� �˰Եȴ�.</p>
<p>DSO�� API�� �̿��ϱ��ؼ� ���������� ������α���
<code>dlsym()</code>���� DSO���� Ư�� �ɺ��� ã�Ƽ�, �����
����ϱ��� ����ġ(dispatch) ǥ <em>��</em>�� �����Ѵ�.
�ٸ� ���� ������α��� ����� ��� �Ǻ��� ���� ã�ƾ��Ѵ�.
�̷� ������ ���� ��α��� �Ϻθ� ��α���
�ʿ��Ҷ��� �о���� �ʾƵ� (���� �� �������
�ʰ�) �ȴٴ� ���̴�. �⺻ ��α��� ���� Ȯ���ϱ���
�ʿ��� ��� �� �κ�� �������� �о��� �� �ִ�.</p>
<p>�̷� DSO ������ �ڿ������� �������, �ּ��� ���� ����
�Ѱ����ִ�. ��α��� Ȯ���ϱ��� DSO�� ����Ҷ� DSO��
������α��� �ɺ��� ã�� ��̴�. ��? DSO�� ������α���
�ɺ��� "������ ã�� ��"�� (��̺귯���� �ڽ�� ����ϴ� ��α���
���� �ٴ�) ��̺귯�� ���迡 ���ϸ�, ��� �÷������
��������ʰ� ǥ��ȭ����� �ʾұ� �����̴�. ����� ��������
�����ɺ�(global symbol)�� ���� �ͽ��Ʈ(export)��� �ʱ����
DSO�� ����� �� ����. DSO�� ����Ͽ� ����� ��α��� Ȯ���Ϸ���
��Ŀ���� ��� �����ɺ��� �ͽ��Ʈ�ϵ��� �����ϴ� ��� �ֵ�
�ذ�å�̴�.</p>
<p>������̺귯���� DSO ���� ����Ģ��� ������̱����
�ü���� �����ϴ� ��� ��� ������ ��̺귯���� ����Ѵ�.
�ݴ�� ���� ��α��� ��α��� Ȯ���ϱ��� ������ü��
������ �ʴ´�.</p>
<p>1998�� ����� ����� ���� Ȯ���ϱ��� DSO ������ �����
���Ʈ���� ��Ű���� (XS ������ DynaLoader ��� �����)
Perl 5, Netscape Server <em>��</em>���� �幰����. ����ġ��
�̹� ���� Ȯ���ϱ��� ��� ���� ����߰� �ܺ� ���
����ġ �ٽɱ�ɿ� �����ϱ��� ��������� ����ġ����
�̿��� ���ٹ��� ����߱���� 1.3 �������� �� �뿭�� �շ��ߴ�.
���� ����ġ�� ����� ��� �о��̴µ� 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>�� ����Ͽ� ����߿�
���յǹǷ� ���� ��Ű�� ����� �� �����ϴ�. ���� ��� �ѹ���
����ġ ��ġ������ �ٸ� ����(ǥ�� ������ SSL ����, �ּ�ȭ
������ ����߰� ���� [mod_perl, PHP3] <em>��</em>)�� ������
�� �ִ�.</li>
<li>������ ��ġ�Ŀ��� ����ڰ� ���� ��� ����Ͽ� ����
Ȯ���� �� �ִ�. �ּ��� ���� ��Ű�� ����ڴ� ����ġ �ٽ�
������ ������ PHP3, mod_perl, mod_fastcgi <em>��</em>��
�߰� ��Ű���� ���� �� �־ ū �̵�̴�.</li>
<li>DSO�� <code>apxs</code>�� ������ ����ġ �ҽ� Ʈ�� �ۿ���
�۾��ϰ� <code>apxs -i</code>�� <code>apachectl restart</code>
��ɾ���� ��� ������ ���� �� ������ ������ ����ġ
������ �ݿ��� �� �־ �� ���� ����ġ ��� ������ ��
�ִ�.</li>
</ul>
<p>DSO�� ����� ���� ����� �ִ�:</p>
<ul>
<li>��α��� �ּҰ����� �ڵ带 �������� �о��̴� ����
��������ʴ� �ü���� �ֱ� ������ ��� �÷������ DSO��
����� �� ����.</li>
<li>���н� �δ��� �ɺ��� ã�ƾ��ϱ� ������ ���� ����
�� 20% ���� �ʾ���.</li>
<li>������ ��ġ�����ڵ�(position independent code, PIC)
������ ����ּ����(absolute addressing)���� ����
���ּ����(relative addressing)�� ������ ���� ����
�ʿ��ϹǷ� � �÷������ ����� �� 5% ���� �ʴ�.</li>
<li>DSO ��� �ٸ� DSO��� ��̺귯��(<code>ld -lfoo</code>)��
��ũ�� �� ���� �÷���� �ֱ���� (���� ��� ELF���
�÷���� ��������� a.out��� �÷���� ���� �� ����
������� �ʴ´�) ��� ������ �� DSO�� ����� �� ����.
�ٸ� ���� DSO ��Ϸ� ������ϴ� ��� ����ġ �ٽɰ� ����ġ
�ٽ�� ����ϴ� C ��̺귯��(<code>libc</code>)�� �ٸ�
����/���� ��̺귯��, ��ġ�����ڵ带 ��� �ִ� ���� ��̺귯��
��ī�̺�(<code>libfoo.a</code>)�� �ɺ����� ����� �� �ִ�.
�ٸ� �ڵ带 ����Ϸ��� ����ġ �ٽ�� �װ�� ����ϴ���,
<code>dlopen()</code>���� ���� �ڵ带 �о�鿩�� �Ѵ�.</li>
</ul>
</div></div>
<div class="bottomlang">
<p><span>������ ���: </span><a href="./en/dso.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="./fr/dso.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
<a href="./ja/dso.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="./ko/dso.html" title="Korean"> ko </a> |
<a href="./tr/dso.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/2.4/dso.html';
(function(w, d) {
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
d.write('<div id="comments_thread"><\/div>');
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
}
else {
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
}
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2024 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="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">���</a> | <a href="./sitemap.html">���Ʈ��</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
//--><!]]></script>
</body></html>