Unterschiede statisch vs. dynamisch gelinked: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(9 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 7: Zeile 7:
 
*Es kann also Funktionen aus Bibliotheken nutzen.  
 
*Es kann also Funktionen aus Bibliotheken nutzen.  
 
=Dynamisch gelinkte Programme=
 
=Dynamisch gelinkte Programme=
 +
{{#drawio:dynamic}}
 +
;mmap
 +
memory map
 +
 
==Vorteile==
 
==Vorteile==
 
*Sie sind kleiner
 
*Sie sind kleiner
Zeile 15: Zeile 19:
  
 
=Statisch gelinkte Programme=
 
=Statisch gelinkte Programme=
 +
{{#drawio:static}}
 +
 
==Nachteile==
 
==Nachteile==
*Sie sind grösser
+
*Sie sind größer
 
*Sie verbrauchen mehr Arbeitsspeicher
 
*Sie verbrauchen mehr Arbeitsspeicher
 +
 
==Vorteile==
 
==Vorteile==
 
*Sie sind weniger angreifbar
 
*Sie sind weniger angreifbar
 
*Sie verbrauchen weniger Arbeitsspeicher
 
*Man nutzt mit anderen Programmen gemeinsam die Bibliothek
 

Aktuelle Version vom 18. September 2023, 10:05 Uhr

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ößer
  • Sie verbrauchen mehr Arbeitsspeicher

Vorteile

  • Sie sind weniger angreifbar