Bei der impliziten Methode brauchst du im Programm nicht mit
Funktionspointern zu arbeiten. Du kannst die DLL-Funktionen wie normale
Libraryfunktionen oder Programmfunktionen aufrufen. Fehlt eine DLL
knallt es direkt bei Programmstart, wenn alle Abhängigkeiten aufgelöst
werden. Und es kann ein Pain in the A** sein, einen fremden Linker zum
Linken einer Exportsdatei für eine fremde DLL zu überreden
(Beitrag "Velleman K8055 und Cygwin GCC..."). Wenn ein Update der
fremden DLL mit geänderter Funktionsreihenfolge rauskommt (eingefügte
Zusatzfunktionen...), ist es sehr wahrscheinlich, dass du nachziehen
musst.
Bei der expliziten Methode kannst du zur Laufzeit selbst auf eine
fehlende Library reagieren z.B. ggf. die Teilfunktionen deines
Programmes auslassen. Und du kannst eine Teilfunktionalität deines
Programms per DLL gezielt aus dem Speicher rein- und rausladen z.B.
einmal die Druckfunktionen reinholen und das andere Mal die
MP3-Playerfunktionen... Hier ist ein Update einer fremden DLL weniger
kritisch, selbst wenn die Funktionsreihenfolge wechselt. Nur die Namen
und Argumente dürfen sich nicht ändern.
Ich bevorzuge, wenn es geht, die explizite Methode.