begin process at 2012 05 29 19:27:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

System

 > 

nombre de LoadLibrary Max ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

nombre de LoadLibrary Max ?

jeudi 5 juin 2008 à 20:25:23 | nombre de LoadLibrary Max ?

mcallan

Bonjour,

Quelqu'un pourrait il m'aider a comprendre mon probleme suivant ?

Dans le cadre d'un systeme de plug-in , je dois charger des dlls.
J'essaye de tester les cas limites.

J'ai cree 100 dlls quasi identiques contenant une fonction
int function_X(void)
{
  return X;
}
les dlls se nomment plugX.dll

avec X variant de 1 à 100.


dans mon programme , j'essaye de charger via a LoadLibrary les dlls. cela donne quelques choses comme ça :

HINSTANCE plugins[100]; // pointeur dans mon code
int i=0;

for (i=1;i<101;i++)
{
plugins[i] = LoadLibrary(<nom dll>);
}

Le probleme est que pour i = 80 et plus le LoadLibrary echoue.

Ce n'est pas la dll qui est endommagé j'ai verifié.

GetLastError retourne le code 1114 (Une routine d'initialisation d'une librairie dynamique (DLL) a échoué)


Ma question est : est ce normale et comment cela se fait que l'on ne puisse pas chargé plus de dlls.
Si vous avez des refs. expliquant cette limitation (liens MSDN ?) , je suis preneur

Merci :)





jeudi 5 juin 2008 à 20:38:47 | Re : nombre de LoadLibrary Max ?

SAKingdom

Membre Club
Ça n'a peut-être pas rapport avec ton problème mais l'indexation d'un tableau va de 0 à taille_du_tableau-1 donc:

for (i=0;i<100;i++)

C++ (@++)

jeudi 5 juin 2008 à 21:18:12 | Re : nombre de LoadLibrary Max ?

BruNews

Administrateur CodeS-SourceS
Aucune idée du nbr maxi de LoadLibrary possible mais vouloir en charger 100 dénote une erreur de conception du prog.

Mets une MessageBox après chaque chargement réussi et tu pourras ainsi vérifier taille mémoire et autres statistiques avec le taskmanager.

ciao...
BruNews, MVP VC++
vendredi 6 juin 2008 à 06:04:14 | Re : nombre de LoadLibrary Max ?

mcallan

:D

Je ne souhaite pas en charger 100, je souhaite en charger le maximum.
Ce que j'ai inscrit n'est que du "pseudo - code" ...
Dans mon "vrai" code , il s'agit d'une reeallocation dynamique
(chargement d'un fichier xml contenant une liste de dll ...)
Et je voulais connaitre s'il y avait une limite.
80 ca ne me semble pas beaucoup ...

Merci quand meme ;)




vendredi 6 juin 2008 à 13:53:56 | Re : nombre de LoadLibrary Max ?

juju12

tu fais quelque chose de spécial dans la routine d'initialisation DllMain?
vendredi 6 juin 2008 à 13:59:50 | Re : nombre de LoadLibrary Max ?

mcallan


Non , rien DllMain vaut quelque chose comme ca :

int WINAPI DllMain (HINSTANCE hInstance , DWORD reason, PVOID pvReserved)
{
  switch (reason)
    {
    case DLL_PROCESS_ATTACH:
      break;
    case DLL_PROCESS_DETACH:
      break;
    case DLL_THREAD_ATTACH:
      break;
    case DLL_THREAD_DETACH:
      break;
    }
  return 1;
}

LoadLibrary "ouvre" les dlls, y aurait pas un nombre limite modifiable par le systeme ?

je pensais à quelque chose genre FILES=80 dans le config.sys ?
Noté que j'ai essayé et cela ne change rien ...

Merci


Cette discussion est classée dans : nombre, probleme, max, loadlibrary, dlls


Répondre à ce message

Sujets en rapport avec ce message

Probleme rand() et for [ par vanpet ] je suis nouveau en C++ (je migre de VB6) et il y a quelques petites choses que l'aide de Microsoft ne parvient pas a me faire comprendre... (pourquoi Probleme avec un nombre a virgule [ par c2millet ] BonjourVoila mon pb je récupère la valeur d'un champ ds une bdd c un nombre a virgule.G déclaré une variable de type FLOAT ds mon prog mais je ne récu nombres aléatoires en c++ [ par johanb ] bonjour a tous, voici mon problême.Dans un programme, je dois générer deux fois un nombre aléatoire entre 0 et n (appelé max dans le programme). Voici probleme de copie de fichier en C [ par jbdmk4 ] Bonjour tout le monde, j'ai un problème d'écriture de fichier. J'envoie un fichier quelquonque d'un client java sur un serveur C bit a bit, a première probleme [ par jekburn ] #includeint main(){bonjour,je voudrais savoir pourquoi quand je tape 10, ça ne me met pas A, et en plus j'obtiens des carrés et d'autres formes, quand Nombre max de controles dans un dialog [ par vecchio56 ] Bonjour, Je viens de m'apercevoir que l'editeur de dialog de vs ne permettait de mettre que 255 controles dans une ressource dialog, pourtant selon MS Probleme ....... [ par miximog ] Bonjour,  je vais éssayez d'etre claire en faite voici mon problème je voudrai que mon programme soit totalement paramétrable par l'uttilisateur jusqu probleme d'allocation dynamique de la memoire en C [ par dletozeun ] Bonjour,Je developpe sous devcpp et dans ce prog je créé un tableau de sommets de taille variable que j'affiche avec opengl.la structure d'un sommet e probleme de boucle... Urgent ! [ par AshenShugar ] Salut tout le monde,voila, j'ai un morceau de code qui est celui-ci :while ((Ligne 20)) { Ligne = 0; printf("\nSaisissez le nombre de lignes Nombre Secret `(Probleme de Proba...) [ par albert0 ] Bonsoir, Voila, je suis en train de faire un algorithme, le but est est de trouve un "Nombre secret" ce nombre secret est generé par un Random: Floa


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales