Forums Rue-Montgallet.com
Rue-Montgallet.comRue-Hardware.comRue-Occasion.comRue-DVD.comRue-Jeuxvideo.comRue-AudioVideo.comRue-Telephone.comForums
S'inscrire | S'identifier |
| Recherche avancée | Aide
 
 

Il y a 62 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

[langage C] Suppresion de définition de variables impossible

 
n°17569
bergie
Profil : Jeune recrue
Posté le 25-09-2006 à 13:22:36  profilanswer
 

Bonjour,
 
J ai un problème concernant la suppression de définitions variable.
J'ai tapé un code permettant d'automatiser le traitement d'images obtenues à partir de microscopes (Microtomographie DUAL BEAM pour les connaisseurs).
Ayant modifié le code source et éclairci un peu tout ca, il me reste pas mal de variables que j'avais déclarées et que je n'utilise plus.
 
Je décide donc de nettoyer tout ca, je supprime les déclarations (les variables ne sont pas du tout utilisées dans tout le code).
Lors de la compilation, pas de problème, tout se passe bien, mais lors de l'exécution, le programme s'arrête sans analyser les images.
 
Lorsque je renomme les variables (qui ne sont pas utilisées je le répète) cela refonctionne.
 
J'avais aussi le problème inverse, je ne peux plus déclarer de variables supplémentaires dans ma fonction main, je suis obligé de déclarer en variable globale.
 
Si quelqu'un a une idée pour pouvoir supprimer ces définitions inutiles, cela m'aiderait vraiment (juste histoire d'avoir une source plutot propre). (Inutile de me dire d'utiliser les variables définies en tant que globales dans la fonction main, en remplacant ainsi les autres, vu que je n ai plus de variables globales...)
 
Encore merci
Bergie

n°17585
P-Y
Profil : Vieux de la vieille
Posté le 26-09-2006 à 20:21:33  profilanswer
 

tu as une sauvegarde du code original? si oui, reprends le, et modifie petit a petit en testant a chaque fois pour voir quand ca ne marche plus. si non, ben... c'est dommage.

n°17586
bergie
Profil : Jeune recrue
Posté le 26-09-2006 à 23:21:49  profilanswer
 

Bonjour
 
J'ai posté le code original sur http://www.infotuto.com/Pb_Variables.c
 
J'ai essayé de supprimer une, deux, trois ou toutes les variables, rien à faire...
Meme les mettre en commentaire ne marche pas, par contre, je peux les renommer ... mais je n'en ai pas l'utilité...

n°17588
bergie
Profil : Jeune recrue
Posté le 27-09-2006 à 11:09:38  profilanswer
 

Le code est disponible sur www.infotuto.com/Pb_Variables.c
 
J'ai oublié de préciser que les variables que je cherche à supprimer sont :
 
  unsigned long imageWidth;          // Image width
  unsigned long imageHeight;         // Image height    
  unsigned short bitPerPixel;        // = 8 for 256 color BMP image
  unsigned short planeNumber;        // Number of planes : = 1 for 256 color images
 
  unsigned int File_Testing;
 
Merci
Bergie

n°17603
cmoila
Profil : Membre
Posté le 29-09-2006 à 20:00:16  profilanswer
 

bergie a écrit :

Le code est disponible sur www.infotuto.com/Pb_Variables.c
 
J'ai oublié de préciser que les variables que je cherche à supprimer sont :
 
  unsigned long imageWidth;          // Image width
  unsigned long imageHeight;         // Image height    
  unsigned short bitPerPixel;        // = 8 for 256 color BMP image
  unsigned short planeNumber;        // Number of planes : = 1 for 256 color images
 
  unsigned int File_Testing;
 
Merci
Bergie


 
Difficile de répondre sans avoir le code et surtout sans passer un bon moment a l'ausculter.
Mais mon expérience (de vieux de la vieille) me fait supposer que tu as un pb de gestion mémoire.  
ce pb est révéllé par la suppression des variables inutilisées (ce que soit dit en passant doit forcement te confirmer le compilo)
Je veux dire par là, que la declaration de ce groupe de variable reserve de la mémoire, laquelle reserve cache un autre pb mémoire qui lui se trouve dans le code exécuté.
bref. tu mets en commentaire tes variables inutile. et ensuite faut que tu débogues serieusement en verifiant les débordements de pile , les acces par des pointeur non valide, etc etc...

n°17605
cmoila
Profil : Membre
Posté le 29-09-2006 à 20:17:52  profilanswer
 

je viens de jeter un coup d'oeil sur le code qui est une salade de C et C++
 
te rends tu compte que tu déclares tout ca dans la pile ?
 
"
int main()
{
 
  // VARIABLES DECLARATION
 
  // Variables relative to the image characteristics
  unsigned long imageWidth;          // Image width
  unsigned long imageHeight;         // Image height    
  unsigned short bitPerPixel;        // = 8 for 256 color BMP image
  unsigned short planeNumber;        // Number of planes : = 1 for 256 color images
  unsigned short threshold=90;       // Threshold to distinguish between Iron and Grafit
   
  // Variables relative to the pixel position
  unsigned long pixIdx;             // pixel index number
  unsigned long colIdx;             // column index number
  unsigned long rowIdx;             // row index number
  unsigned long depthIdx;           // image number
  unsigned long nodIdx;             // node index number
 
  // Variable to test the existence of the input file
  unsigned int File_Testing;
   
  // Variable to count the number of files in the folder
  unsigned int File_Number;
   
  // Variables to read the folder, extract the list of files
  struct dirent *lecture;
  char *path;
  DIR *rep;
  FILE *File_List;
  FILE *File_Coordinates;
  BMPFILE * bmpf ;
  byte *bitmap ;
   
 
  // Variables to save the list of files to analyse
  char list[500];
  char files_names[500];
  char bmpFileName[200];
 
  // Material type
  char *Material_Type;
 
...
"


Message édité par cmoila le 29-09-2006 à 20:18:32

Aller à :
Ajouter une réponse