Chapter 5 - Updated the Why Static page to more accurately represent the difference between statically and dynamically linked binaries. Thanks to Ian Molton for point this out. Fixes Bug 602. Updated bookinfo with this year in copyright.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2868 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
James Robertson 2003-09-23 02:27:47 +00:00
parent b036adcf56
commit 255504f783
3 changed files with 21 additions and 11 deletions

View File

@ -21,7 +21,7 @@ scratch, using nothing but the sources of the required software.</para>
<legalnotice>
<para>Copyright (c) 1999-2002, Gerard Beekmans</para>
<para>Copyright (c) 1999-2003, Gerard Beekmans</para>
<para>All rights reserved.</para>

View File

@ -94,8 +94,13 @@
</itemizedlist>
</para></listitem>
<listitem><para>September 22nd, 2003 [jeremy]: Removed the make command from
DejaGNU, since it performs nothing.</para></listitem>
<listitem><para>September 22nd, 2003 [jwrober]: Chapter 5 - Updated the Why
Static page to more accurately represent the difference between statically and
dynamically linked binaries. Thanks to Ian Molton for point this out. Fixes
Bug 602.</para></listitem>
<listitem><para>September 22nd, 2003 [jeremy]: Removed the make
command from DejaGNU, since it performs nothing.</para></listitem>
<listitem><para>September 22nd, 2003 [jeremy]: Removed the -k from TCL's make
check, since it's not expected to have failures anymore</para></listitem>

View File

@ -11,14 +11,19 @@ functions ready-made in libraries. The major library on any Linux system is
<filename>glibc</filename>. To get an idea of what it contains, have a look at
<filename>glibc/index.html</filename> somewhere on your host system.</para>
<para>There are two ways of linking the functions from a library to a program
that uses them: statically or dynamically. When a program is linked
statically, the code of the used functions is included in the executable,
resulting in a rather bulky program. When a program is dynamically linked,
what is included is a reference to the linker, the name of the library, and
the name of the function, resulting in a much smaller executable. This
executable has the disadvantage of being somewhat slower than a statically
linked one, as the linking at run time takes a few moments.</para>
<para>There are two ways of linking the functions from a library to a program
that uses them: statically or dynamically. When a program is linked
statically, the code of the used functions is included in the executable,
resulting in a rather bulky program. When a program is dynamically linked,
what is included is a reference to the linker, the name of the library, and
the name of the function, resulting in a much smaller executable. Under
certain circumstances, this executable can have the disadvantage of being
somewhat slower than a statically linked one, as the linking at run time takes
a few moments. It should be noted, however, that under normal circumstances on
today's hardware, a dynamically linked executable will be faster than a
statically linked one as the library function being called by the dynamically
linked executable has a good chance of already being loaded in your system's
RAM.</para>
<para>Aside from this small drawback, dynamic linking has two major advantages
over static linking. First, you need only one copy of the executable library