mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-01-31 11:21:59 +00:00
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:
parent
b036adcf56
commit
255504f783
@ -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>
|
||||
|
||||
|
@ -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>
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user