Wenn die
DLL-Funktionen
statisch eingebunden sind (external), dann werden alle Funktionsaufrufe und die zugehörigen DLLs vom ExeLoader der Anwendung (bzw. von Windows) zuerst geladen und erst danach wird der Code der Anwendung ausgeführt.
Ist ja auch richtig so, denn so werden erst alle Abhängigkeiten initialisiert, welche vom auszuführenden Code benötigt werden.
Wenn du die
DLL erst zur Laufzeit initilasisieren willst, dann mußt du die
DLL-Funktionen
dynamisch laden (
GetProcAddress), ebenso, wie du es mit der
DLL machst.
Die Andere Alternative wäre ein eigener Loader, welcher noch vor dem eigentlichen Programmcode die
DLL läd, aber das dynamische Laden sollte einfacher/besser sein.