Probleme pagefile et programme C

Signaler
-
Messages postés
3833
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
11 juin 2021
-
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.




Help me SVP

En vous remerciant d'avance ......

6 réponses

Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
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

Cela veut dire que j'ai des fuites mémoires?
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
Oui, probablement. Comment fais-tu pour savoir si un fichier a été ajouté dans un dossier ?
---
VB.NET is good ... VB6 is better

oula la ba la si je commence a expliquer mon code sa va etre chaud mais peut mais j'ai deux trois question:

si je fais un char * toto; et que je ne fais pas par la suite free(toto): je fais une fuite mémoire?

Ensuite faut-il désalouer un char toto[500] ? ( ma reponse serait non!).

si je fais : char toto[10]


while ( i != 0){
strcpy(toto, "coucou");
i++
}
comment je peut désalouer le tableau toto?

merci bien de m'aider en tout cas...
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
14
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!");
}

---
VB.NET is good ... VB6 is better
Messages postés
3833
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
11 juin 2021
122
Je ne peux que te conseiller d'utiliser un memeory debugger !
Voici un lien qui les liste: http://en.wikipedia.org/wiki/Memory_debugger

_____________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio
http://0217021.free.fr/portfolio]