Bonjour à toutes et à tous, ou bonsoir, c'est selon.
Je suis occupé à tester un programme (de ma composition) qui utilise des nombres de "taille infinie" mais vu que infini n'est pas informatique, je suis en train de faire une boucle infinie qui alloue de la mémoire sans la libérer (ooouuuhh que c'est mal, je sais) en affichant l'indice de l'octet alloué (avec i de 0 à ...).
Et je relèverai quand le programme aura planté le dernier i affiché pour savoir quand on aura atteint la taille maximale.
Ceci étant dit, je me demande s'il existe un moyen "plus efficace" que d'attendre des plombes que le programme plante...
Je me demande si le programme a droit à une valeur fixe de RAM (par exemple 500 Mo) ou bien, ça dépend de la RAM existante sur le PC (j'ai 4 dont 3.85 Go utilisables de RAM sur mon PC) ou encore, ça dépend des divers processus lancés sur la machine et de la mémoire qu'ils utilisent eux aussi.
(Pour info, mon programme tourne toujours et dans l'explorateur des tâches Windows, le programme en est déjà à 412.000 Ko et il n'a toujours pas planté).
J'ai dû étudié ça lors de mes études en cours de système d'exploitation comme était gérée la mémoire mais je dois vous dire que je n'ai plus de souvenir, surtout que j'ai étudié ça sous Linux, donc Windows, c'est forcément différent.
Je suppose aussi que le dernier i affiché (juste avant que le programme ne plante) sera différent à chaque exécution, ce qui m'aidera fort malheureusement pas à m'informer des limites de mon programme.
Si quelqu'un pouvait m'éclaircir sur ce point, j'en serait fort ravi.
Au plaisir,
Aenonis
-----