Probleme pagefile et programme C

Utilisateur anonyme - 22 avril 2010 à 18:13
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 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.




Help me SVP

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

6 réponses

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
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
0
Utilisateur anonyme
22 avril 2010 à 18:30
Cela veut dire que j'ai des fuites mémoires?
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
22 avril 2010 à 18:54
Oui, probablement. Comment fais-tu pour savoir si un fichier a été ajouté dans un dossier ?
---
VB.NET is good ... VB6 is better
0
Utilisateur anonyme
22 avril 2010 à 19:03
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...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
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!");
}

---
VB.NET is good ... VB6 is better
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
23 avril 2010 à 10:32
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]
0
Rejoignez-nous