Ich glaube, das lohnt den Aufwand nicht. Nach einem Servicepack oder Update oder Patch, können die DLLs schon wieder wo anders liegen.
Zitat:
Daher kann man sich bestimmt auch ganz gut vorstellen, daß man in solch einem Fall mit einigen Einbußen (Rechenzeit...) rechnen muß.
Es ist also schon "wichtig", daß man seinen
DLL's ein freies Plätzchen sucht.
Ich glaube, die Einbussen sind so gering, dass dies nicht wirklich ins Gewicht fällt.
Aber es fehlt ein wichtiger Hinweis bei dir, wenn ich ihn nicht überlesen habe. Um die Adressen innerhalb eines Images zu verschieben, gibt es in jedem Image den sogenannten Realloctable. Es gibt Programme mit denen man diese Tabelle entfernen kann, um die Größe des Images zu reduzieren. Bei Exe-Dateien ist das meist kein Problem, da sie als erstes geladen werden und so die Baseaddress immer frei ist. Bei DLLs ist dies natürlich, wie du erklärt hast, nicht der Fall. Entfernt man aus einer
DLL den Realloctable, kann Windows die neuen Adressen innerhalb der
DLL nicht neu berechnen und die
DLL kann nicht geladen werden.