Bonjour,
Dans le contexte ou les dll sont utilisés comme des plugin.
Est-il possible que l'adresse d'une fonction exporter (retourné par GetProcAddress()) par une dll change au cours du temps ?
Cordialement,
Kalite
Bonjour,
Dans le contexte ou les dll sont utilisés comme des plugin.
Est-il possible que l'adresse d'une fonction exporter (retourné par GetProcAddress()) par une dll change au cours du temps ?
Cordialement,
Kalite
Si par "au cours du temps" signifie "lors de l'exécution", alors non.
Si par "au cours du temps" signifie "au fur et à mesure que je modifie le code de mes DLL", alors oui.
"au cours du temps" signifie pendant l'exécutions.
Est-ce vrai, aussi si le système swap une partie de l'application ?
Donc, il est possible de stocké les adresses dans des pointeurs sans risque ?
(Economie d'appel à la méthode "GetProcAddress")
Même si l'OS décide de swapper, ton programme ne reçoit que des adresses virtuelles. C'est l'OS qui décide à quelle adresse physique ça correspond. (pour faire simple, en fait c'est plus compliqué, avec des adresses semi-virtuelles et tout, mais c'est suffisant pour comprendre qu'il est inutile d'appeler GetProcAddress / dlopen plus d'une fois par fonction)
www.akkadia.org/drepper/cpumemory.pdf
Bon courage.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager