Verständnisfrage import library und DLL Versionen



  • Hallo 🙂

    ich habe eine Frage zu Import Libraries und DLLs: Ich linke gegen eine Import Library (nennen wir sie libfoo3.lib) welche zur Laufzeit eine DLL (libfoo3.dll) lädt. Was passiert wenn ich zur Laufzeit nun nicht die exakt gleiche Version der DLL zur Verfügung habe, sondern eine neuere? Dabei können wir davon ausgehen, dass die DLL zwar vielleicht neue Smbole enthält, aber die alten Symbole bzw. Funktionssignaturen unverändert lässt (natürlich kann sich die Implementierung der jeweiligen Funktionen ändern, aber eben nicht deren Signaturen).

    Begebe ich mich damit in die Welt des Schmerzes?

    Gruß Lefty



  • Solange die Funktionalität der DLL dadurch nicht geändert wird sollte es gut gehen. Wenn die Funktionen allerdings plötzlich andere Parameter erwarten/zurückgeben dann wird es schmerzhaft.



  • DarkShadow44 schrieb:

    Solange die Funktionalität der DLL dadurch nicht geändert wird sollte es gut gehen. Wenn die Funktionen allerdings plötzlich andere Parameter erwarten/zurückgeben dann wird es schmerzhaft.

    Klar, dann kann es nur noch schiefgehen, aber ich gehe davon aus, dass eben jenes nicht passiert.
    Gibt es noch andere Stolperfallen?



  • Naja die DLL sollte nicht 64Bit sein wenn dein Programm 32Bit ist und andersrum. 😃
    Außerdem könnte es Probleme geben wenn es es eine andere Runtime verwendet, da hatte ich schonmal Konflikte.

    Mehr fällt mir gerade aber nicht ein.


Log in to reply