diff options
-rw-r--r-- | bookinfo.xml | 2 | ||||
-rw-r--r-- | chapter01/changelog.xml | 9 | ||||
-rw-r--r-- | chapter05/whystatic.xml | 21 |
3 files changed, 21 insertions, 11 deletions
diff --git a/bookinfo.xml b/bookinfo.xml index 371b6c8aa..b7ea02976 100644 --- a/bookinfo.xml +++ b/bookinfo.xml @@ -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> diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 28b850f1f..9a4f63001 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -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> diff --git a/chapter05/whystatic.xml b/chapter05/whystatic.xml index 77e94e21e..1b07b0b2e 100644 --- a/chapter05/whystatic.xml +++ b/chapter05/whystatic.xml @@ -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 |