diff options
Diffstat (limited to 'chapter05/whystatic.xml')
-rw-r--r-- | chapter05/whystatic.xml | 21 |
1 files changed, 13 insertions, 8 deletions
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 |