Unterschiede statisch vs. dynamisch gelinked
Version vom 17. Januar 2023, 09:00 Uhr von Linkai.zhang (Diskussion | Beiträge) (→Dynamisch gelinkte Programme)
Unterschiede
- Ein Programm ist statisch gelinked wenn es ohne Bibliotheken lauffähig ist.
- Das Binarie muss alle Funktionen die es nutzt selbst enthalten.
- Bei Kompilieren des Programms wird festgelegt ob es statisch oder dynamisch gelinked wird.
- In der Regel sind die Programme dynamisch gelinkt.
- Daraus folgt das ein Programm dynamisch gelinkt ist, wenn Funktionen ausgelagert wurden.
- Es kann also Funktionen aus Bibliotheken nutzen.
Dynamisch gelinkte Programme
- mmap
memory map
Vorteile
- Sie sind kleiner
- Sie verbrauchen weniger Arbeitsspeicher
- Man nutzt mit anderen Programmen gemeinsam die Bibliothek
Nachteile
- Ein Angreifer kann durch austauschen der Bibliothek das Verhalten des Programmes verändern.
Statisch gelinkte Programme
Nachteile
- Sie sind grösser
- Sie verbrauchen mehr Arbeitsspeicher
Vorteile
- Sie sind weniger angreifbar

