[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
If you look at the contents of the hello
program you built in
the last section, you will see that it is not actually a binary at all,
but a shell script which sets up the environment so that when the real
binary is called it finds its the shared libraries in the correct
locations. Without this script, the runtime loader might not be able to
find the uninstalled libraries. Or worse, it might find an old version
and load that by mistake!
In practice, this is all part of the unified interface libtool
presents so you needn’t worry about it most of the time. The exception
is when you need to look at the binary with another program, to debug it
for example:
$ ls hello hello.lo libhello.la main.c trim.lo hello.c hello.o libtrim.la trim.c trim.o $ libtool gdb hello GDB is free software and you are welcome to distribute copies of it under certain conditions; type "show copying" to see the conditions. There is absolutely no warranty for GDB; type "show warranty" for details. GDB 4.18 (hppa1.0-hp-hpux10.20), Copyright 1999 Free Software Foundation, Inc... (gdb) bre main Breakpoint 1 at 0x5178: file main.c, line 6. (gdb) run Starting program: /tmp/intro-hello/.libs/hello Breakpoint 1, main (argc=1, argv=0x7b03aa70) at main.c:6 6 return hello("World"); ... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
This document was generated by Ben Elliston on July 10, 2015 using texi2html 1.82.