Super!m.fuchs hat geschrieben: Fr 26. Apr 2024, 08:11 Moderationshinweis: Die Windows vs. Linux-Diskussion habe ich mal abgetrennt und verschoben.
Da meine Antwort zu diesem Thema automatisch mit abgeschnitten wurde während ich sie getippt habe hier nochmal:
Zur Frage "Wo müssen DLLs hin ?" die Antwort: da wo sie Sinn machen und von der Applikation die sie braucht auch gefunden werden kann.
In den System-Ordner würde ich generell nichts kopieren.
"Shared" Varianten die von mehreren Applikation genutzt werden können gehören in den "Shared" Ordner (x:\Users\Username\AppData\Roaming\), so ist es beim Update dieser Library einfacher den Überblick zu bewahren ansonsten, wie üblich, packt man es in den Ordner wo sich auch die Applikation befindet.
Ein dynamisches laden einer Bibliothek kann Vorteile haben die bereits genannt wurden aber meist ist es Sinnfrei wenn die Applikation selbst ohne eben diese Bibliothek nichts kann.
Also ein dynamisches laden bevorziehe ich nur wenn zum Beispiel mehrere API Versionen mit unterschiedlichen Revisionen vorliegt die dann wiederum anders im Quelltext behandelt werden müssen, das ist der Trumpf beim dynamischen Laden. Oder wenn man über eine Library etwas schneller berechnen lassen kann, könnte man wenn eben diese nicht gefunden wird, zu einer langsameren Methode zurückgreifen die diese Library nicht benötigt.
Aber in der Regel ist halt eine Anwendung abhängig von einer Library also ist statisches laden der meist bessere Weg.
Ob mir nun Windows auf die schnelle sagt, Anwendung kann nicht gestartet werden da xyz.dll fehlt oder man ein wunderschönes Fenster malt mit Bildern und Ton und Video und und und mit der gleichen Aussage .... das ist Geschmackssache.