Accueil > Forum > > > > Segmentation en mettant en boucle 5000 fois mon algo
Segmentation en mettant en boucle 5000 fois mon algo
vendredi 13 juillet 2007 à 17:34:11 |
Segmentation en mettant en boucle 5000 fois mon algo

timekill
|
langage C Cygwin Windows 2000 Bonjour à tous, J'ai un petit problème. J'ai implémenté un algo de traitement d'image qui semble marcher. Afin de tester sa robustesse, dans mon main j'ai bouclé 100 fois, 1000 fois, 2000 fois, 3000 fois, 4000 fois sur mon algo sans qu'il plante. En le lançant 5000 fois il plante. J'ai soupçonné une fuite mémoire mais il semblerait que ce ne soit pas le cas. J'ai vérifié avec un code fourni à cette adresse : http://www.cppfrance.com/codes/SUREVEILLER-ALLOCATIONS-MEMOIRE_32481.aspx qui permet de mettre dans un fichier texte tout ce qui est alloué et désalloué durant l'execution du prog. Et tout semble bon a la fin de chaque tour de boucle ma memoire revient a 0. Je n'ai pas pu faire une boucle de 5000 itérations avec ses fonctions de controle car le fichier texte généré devient trop gros à gérer. Avez vous une idée vers quoi je pourrais me tourner pour résoudre mon pb ? Merci d'avance.
|
|
vendredi 13 juillet 2007 à 19:27:04 |
Re : Segmentation en mettant en boucle 5000 fois mon algo

BruNews
|
il n'y a pas de devin ici, sans voir ton code personne ne pourra rien dire.
ciao... BruNews, MVP VC++
|
|
vendredi 13 juillet 2007 à 20:23:33 |
Re : Segmentation en mettant en boucle 5000 fois mon algo

vicenzo
|
SI SI BruNews, ....
.... Ähum... Ahum....
Je vois..... je vois.... un bug à la ligne 5678 !!!!
Bon, trêve de plaisanterie, laissons Mme Irma au placard, il est le code ?
|
|
vendredi 13 juillet 2007 à 23:03:58 |
Re : Segmentation en mettant en boucle 5000 fois mon algo

timekill
|
je veux bien vous le filer mais y a pas mal de fichiers. Je vais mettre un lien rapidshare mais je sais pas si le forum accepte ...
Dans le main la boucle est sur 100 itérations en mettant 5000 ca passe plus.
http://rapidshare.com/files/42754369/source_rep_13-07-07.zip.html
|
|
vendredi 13 juillet 2007 à 23:09:06 |
Re : Segmentation en mettant en boucle 5000 fois mon algo

timekill
|
par contre y a des fonctions mwatch dans mon main qui peuvent etre enlevées elles ecrivent dans un fichier texte les allocations mémoires etc... (avec 5000 itérations le fichier txt sera trop gros pour être analysé)
|
|
vendredi 13 juillet 2007 à 23:39:48 |
Re : Segmentation en mettant en boucle 5000 fois mon algo

luhtor
|
Bas, je compte pas passez 3 jours pour comprendre ton code :) donc j'ai peur que tu sois tout seul sur ce coup. La seule chose que tu peux faire, c'est télécharger un bon debuggeur, et au boulo. Il te faut des messages d'erreurs supplémentaires.
|
|
samedi 14 juillet 2007 à 11:55:18 |
Re : Segmentation en mettant en boucle 5000 fois mon algo

vicenzo
|
Bon, j'ai jeté un coup d'oeil à ton source et je me demande comment tu a pu compiler ca et avec quel compilo..
Ton compilo est compatible C99 a cause du "inline"... Ah, je viens juste de remarquer que tu as indiqué 'Cygwin"...
Tu déclare des fonctions dans des fichiers c sans avoir une définition dans un header .. Ton linker bosse pour toi et te rattrape le coup mais il ne devrait pas car par exemple tu declares une fonction GrayIntImage__delete avecdeux paramètres et dans ton fichier main.c, tu l'appele avec un seul paramètres... Ce code n'aurait pas du compiler !!! Et sans parler la tonne de warnings de casts unsafe, ....
J'ai modifié (car VS2005 ne supporte pas C99 et pour une fois je les comprends) et corrigé ton code (gestion définition / déclartion de fonction, ..) pour pouvoir le compiler avec VS2005 et je n'ai aucun problème j'ai fait une bulce jusqu'a 20000 sans soucis..
Remarques : y a des choses qui ralentissent grandemment le code et y a matiere à beaucoup optimiser le code ... sur ma machine ton code avec une boucle de 6000 items prend 200 sec.... Peut meux faire...
Ma foi, déja corrige l'appel à la fonction GrayIntImage__delete...
Si tu veux le code modifié, mail moi...
|
|
samedi 14 juillet 2007 à 15:58:05 |
Re : Segmentation en mettant en boucle 5000 fois mon algo

luhtor
|
Pour l'histoire des fonctions sans déclaration dans le header. Ya pas de soucis. Si ces fonctions sont juste utilisées dans ce meme fichier.
|
|
samedi 14 juillet 2007 à 18:51:07 |
Re : Segmentation en mettant en boucle 5000 fois mon algo

vicenzo
|
Merci luhtor.... mais cela va de soi !
Mais le code de timeKill définissait des fonctions dans un source A non déclarées ou redeclarée différemment dnas un header A et appelée dans un source B selon le prototypage du source A...
De plus, même fichier ou pas on s'en fout ! Le seul impératif du compilo est de connaitre le prototype d'une fonction lors de son appel ! C'est tout.
Si tu déclare une fonction dans le même source mais après l'appel cela ne compilera pas. Donc ton assertion telle quelle est fausse.
Bonne journée ensoleillée...
|
|
dimanche 15 juillet 2007 à 00:33:51 |
Re : Segmentation en mettant en boucle 5000 fois mon algo

luhtor
|
Tu chipottes :) Tu peux mettre ta définition dans le .cpp. L'intéret c'est que la fonction n'est pas visible ailleurs que dans ton fichier .cpp, mais bon tout le monde le sait ca et c'est pas la discution.
|
|
Cette discussion est classée dans : boucle, algo, semble, segmentation, mettant
Répondre à ce message
Sujets en rapport avec ce message
P'tit probleme avec le site il me semble [ par Stoomm ]
Slt, en effet, quand on post un message et que l'on nous repond, on obtient un mail de : "visual basic code sources". Donc faudrais peut etre voir a
algo des [ par fredson ]
je recherche le programme pour trouver divers clés de décryptage avec l'algo des(cryptage)
La boucle FOR [ par C++ ]
Ou est l erreur svp :for (int i=0;i MessageBox (i);
une aide pour écrire un algo et un prog sur le nbr premiers [ par Julius Caesar ]
Bonjour, je n'arrive pas écrire l'algo et le prog de ce sujet:"Ecrivez un algo et un prog, qui affiche les nbrs premiers inferieurs à un entier n (ave
Intercepter la touche ESC [ par mindark ]
BonjourVoila, j'ai un programme qui execute une boucle d'environ 5 mins. Et je voudrais que cette boucle soit executee plusieurs fois, jusqu'a ce que
je suis desespere, algo d'incrementation de tableau [ par scorpiwolf ]
Je deviens fou, je suis en train de faire la division euclidienne avec des nombres immenses, ils sont stockés dans des tableaux. Bon bref le probleme
Algo minimax, negamax [ par Galett ]
Salut, je m'fai un ti prog en ce moment, mais G des probs avec mon algo minimax, G tester le negamax aussi et ca change po.Je recherche en fait un alg
Problème avec une boucle while [ par arconius ]
voilà j'ai fait un prog où l'on tire des dés mais j'ai un problème avec ma boucle while car au lieu de me donner un chiffre aléatoire à chaque fois il
pourquoi aprés avoir fait une boucle mon textbackground prend tout l'écran ? [ par arconius ]
Voila mon prog et après avoir fait une boucle mon text background prend tout l'écran si quelqu'un à une solution se serait sympa merci d'avance#includ
Copie directe d'un tableau vers un autre (sans boucle) [ par NiFF ]
Existe-t-il une fonction C qui me permettrait de copier un tableau vers un autre de même dimension,et ce sans avoir à traiter tous les items de ce tab
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|