Wann man dynamische und wann statische Bibliotheken in C++ verwendet
Hallo zusammen! Ich fange gerade erst an, mich mit C++ und dem Build von Projekten zu beschäftigen, und ich bin bei den Bibliotheken verwirrt. Ich habe wohl verstanden, dass es statische (.lib, .a) und dynamische (.dll, .so) Bibliotheken gibt, aber ich kann nicht verstehen, wann man was in der Praxis anwendet.\n\nZum Beispiel schreibe ich ein kleines Projekt – einen Konsolenrechner. Ich verwende eine Bibliothek für mathematische Funktionen (sagen wir, meine eigene). Wenn ich sie statisch einbinde, wird der Code einfach in meine .exe kopiert. Wenn dynamisch – dann ist die Bibliothek eine separate Datei. Was ist der Vorteil?\n\nIm Internet steht, dass statische Bibliotheken die exe größer machen und dynamische kleiner, aber das ist nicht der einzige Unterschied. Ich habe auch gehört, dass DLLs bei Updates "kaputtgehen" können, statische aber nicht. Aber wozu braucht man dann überhaupt dynamische, wenn sie unzuverlässig sind?