Bonjour, je travaille sur un programme sous forme de DLL.
Je possède une interface qui charge et décharge cette DLL à chaque traitement. Ma DLL possède des dépendances sur de multiples DLL.
Mais j'ai le probleme suivant :
soit un main suivant :
Le fait de charger et décharger la dll me fait perdre ~~40Mo à chaque passage. Je ne comprends pas pourquoi, mais il semblerait que le FreeLibrary ne libère pas tout, et c'est uniquement lorsque je quitte l'exe que la mémoire est libérée. J'ai également essayé en annulant tous les traitements (donc ma DLL ne fait absolument rien, mais possède tjrs des dépendances), mais cela donne exactement le même résultat.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 int main() { HINSTANCE hDll; for(int i = 0 ; i < 500 ; i++) { hDll = LoadLibrary ( "madll.dll" ); FreeLibrary ( hDll ); } }
Autre essai : je ne libère jamais la DLL. Dans ce cas, je ne perds ces fameux ~~40Mo que lors du premier LoadLibrary.
Merci
Partager