understanding shared libraries using gcc

Ich versuche das folgende Verhalten von gemeinsam genutzten Bibliotheken in C @ zu versteh

Machine One

$ cat one.c 
#include<stdio.h>

int main() {
    printf ("%d", 45);
}
$ gcc one.c -o one -O3
$ ldd one
    linux-gate.so.1 =>  (0x00331000)
    libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x00bc2000)
    /lib/ld-linux.so.2 (0x006dc000)
$ cat two.c 
int main() {
    int i = 0;
}
$ gcc two.c -o two -O3
$ ldd two
    linux-gate.so.1 =>  (0x006f7000)
    libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x00110000)
    /lib/ld-linux.so.2 (0x00eb0000)
$

Machine Two

$ cat three.c
#include<stdio.h>

int main() {
    printf ("%d", 45);
}
$ gcc three.c -o three -O3
$ ldd three
    /usr/lib/libcwait.so (0xb7ffd000)
    libc.so.6 => /lib/tls/i686/nosegneg/libc.so.6 (0x002de000)
    /lib/ld-linux.so.2 (0x002bf000)
$

Ein paar Dinge, die ich derzeit nicht ganz verstehe:

Was bedeutet die in Klammern angegebene Adresse (zum Beispiel(0x002de000)) bedeuten

Diese Adressen unterscheiden sich auch für dieselbe Bibliothek auf demselben Computer, was darauf hindeutet, dass dies Adressen der Speicherorte sind, an denen diese Bibliotheken geladen werden. Aber wenn das stimmt, warum werden diese Bibliotheken überhaupt in den Speicher geladen (ich habe die Programme noch nicht ausgeführt, sollten sie nicht nur zur Laufzeit geladen werden?).

Warum tuttwo Brauchen Sie überhaupt Bibliotheken? Ich habe benutzt-O3 und die Assembler-Ausgabe ist

$ gcc two.c -S -O3 
$ cat two.s
    .file   "two.c"
    .text
    .p2align 4,,15
.globl main
    .type   main, @function
main:
    pushl   %ebp
    movl    %esp, %ebp
    popl    %ebp
    ret
    .size   main, .-main
    .ident  "GCC: (Ubuntu 4.4.3-4ubuntu5) 4.4.3"
    .section    .note.GNU-stack,"",@progbits
$

Was brauchen Bibliotheken überhaupt?

Auf Maschine Zwei, warum ist/usr/lib/libcwait.so wird anstelle von @ verwendlinux-gate.so.1?

Ich denke, das liegt daran, dass der Kernel auf Maschine Zwei sehr alt ist (2.6.9) und die Bibliotheklinux-gate.so.1 ist nicht verfügbar. Ist das der Grund?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage