Shared Objects

Zum Betrachten der nächsten Seite "Bild ab" drücken oder nach unten scrollen.

Ein einfaches Programm

Quelltext
(Datei auf Festspeicher)

int main(int argc, char **) {
    return argc * argc;
}

Kompilat
(Datei auf Festspeicher)

Ein einfaches Programm

Quelltext
(Datei auf Festspeicher)

int main(int argc, char **) {
    return argc * argc;
}

Kompilat
(Datei auf Festspeicher)

Maschinencode
(im Hauptspeicher)

main:
  push
  op1
  op2
  op3
  op4
  ⋮
  opN
  pop
  ret

Ausgeführte Operationen
(ohne "Verwaltung"):

op1, op2, op3, op4, …, opN

Ein Programm mit Unterfunktion

Quelltext
(Datei auf Festspeicher)

int square(int num) {
    return num * num;
}
int main(int argc, char **) {
    return square(argc);
}

Kompilat
(Datei auf Festspeicher)

Maschinencode
(im Hauptspeicher)

main:
  push
  op1
  call fn1
  op4
  ⋮
  opN
  pop
  ret
fn1:
  push
  op2
  op3
  pop
  ret

Ausgeführte Operationen (ohne "Verwaltung"):

op1, op2, op3, op4, …, opN

Ein Programm mit Bibliothek

Quelltext
(Dateien auf Festspeicher)

int square(int num) {
    return num * num;
}
int main(int argc, char **) {
    return square(argc);
}

Kompilate
(Dateien auf Festspeicher)

Maschinencode
(im Hauptspeicher)

main:
  push
  op1
  call fn1
  op4
  ⋮
  opN
  pop
  ret
fn1:
  push
  op2
  op3
  pop
  ret

Ausgeführte Operationen (ohne "Verwaltung"):

op1, op2, op3, op4, …, opN