Utilisateur anonyme
-
22 avril 2010 à 18:13
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023
-
23 avril 2010 à 10:32
Bonjour !
Voila my soucy ^^ <- qui me fais pas rire en fait :
J'ai créé un programme qui tourne toute la journée sur une bécane windows xp et qui en gros scrute un repertoire et une fois qu'un fichier est trouvé, elle découpe ce fichier en d'autres fichiers etc... Mais le probleme c'est que pdt tout ce temps ou il "dézippe se fichier" le fichier "pagefile" augmente sans jamais diminuer donc arrivé à une certaine limite et bien tout plante faute de place dans le pagefile.
Je me demande si le probleme vien de mon code c a d ouverture et création d'autres fichiers ou il faut que je gere la "vidange" de ce fichier pagefile dans mon programme C par exemple une commande à éxécuter pour vider ce pagefile ou autre ( la ou j'ai besoin d'aide).
Car si je quitte mon programme une fois qu'il est éxécuté, le pagefile se "vidange" bien . Mais moi , mon programme doit fonctionner toute la journée.
cs_ghuysmans99
Messages postés3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 22 avril 2010 à 18:29
C'est que tu libères pas la mémoire ... Le pagefile contient les pages de mémoire non utilisées qui sont stockées sur disque pour gagner de la place en RAM.
---
VB.NET is good ... VB6 is better
cs_ghuysmans99
Messages postés3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 22 avril 2010 à 20:02
void tafonction()
{
//Cette fonction produit une fuite mémoire.
char* tachaine = malloc(10);
strcpy(tachaine,"hello!");
}
void tonautrefonction
{
//Cette fonction ne produit pas de fuite mémoire, la variable étant réservée sur la pile. Dès que l'on sort de la fonction, elle est détruite.
char tachaine[10];
strcpy(tachaine,"hello!");
}