Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
700 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Lister les variables

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Lister les variables

n°2229418
djobidjoba
Posté le 28-05-2014 à 17:35:21  profilanswer
 

Bonjour,
J'aimerais pouvoir exporter dans un fichier, les noms des variables, leur type (l'idéal serait le sizeof)  et la ligne dans le fichier.  
Est-ce possible?

mood
Publicité
Posté le 28-05-2014 à 17:35:21  profilanswer
 

n°2229422
theshockwa​ve
I work at a firm named Koslow
Posté le 28-05-2014 à 17:53:31  profilanswer
 

le plus simple, c'est peut-être d'utiliser les fichiers de debug que ton compilateur va générer. Tu devrais pouvoir retrouver toutes ces infos dedans.
 
Si tu veux le faire à la main, il va falloir faire un système capable de parser du C et implémenter un préprocesseur, ca risque d'être fastidieux.
 
Accessoirement, aussi, pour vouloir exporter ces infos, j'imagine que c'est pour assister du debug, donc autant prendre directement ce que le compilateur en sait.


---------------
last.fm
n°2229426
djobidjoba
Posté le 28-05-2014 à 17:59:06  profilanswer
 

Justement je voudrais faire sans gcc-g et gdb.  
J'ai cherché dans les options de compilation, sans grand résultats  
Peut-etre qu'il existe un outil ?
 
Édit :je viens de relire ta réponse, je vais regarder du côté de-g voir si je peux exploiter les fichiers générer à différentes étapes


Message édité par djobidjoba le 28-05-2014 à 18:05:54
n°2229441
djobidjoba
Posté le 28-05-2014 à 20:18:54  profilanswer
 

alors avec gcc -g j'ai pas ete convaincu du truc. Bon je m'y suis p-e mal pris.
sinon j'ai testé plusieurs outils et j'ai finallement trouvé ce qu'il me faut :
https://github.com/chrisforbes/sparse
 
Sous cygwin j'ai recompilé le projet puis j'ai essayé tous les .exe generés.
 
test-dissect.exe est une  bonne base que je vais pouvoir modifier pour mes besoins.
 
exemple
 
le prog en c
 

Code :
  1. #define TAB_SIZE 20
  2. int main(int argc, char **argv)
  3. {
  4.         int nVar1,nVar2, nVar3;
  5.         unsigned char ucTest1;
  6.         ucTest1 = 'A';
  7.         nVar1=200;
  8.         unsigned char pucTest2[TAB_SIZE];
  9.         return 0;
  10. }

$ ./test-dissect.exe prog_test.c

Code :
  1. FILE: prog_test.c
  2.    3:5   g def  main                             int ( ... )
  3.    3:10  l def  argc                             int
  4.    3:20  l def  argv                             char **
  5.    5:13  l def  nVar1                            int
  6.    5:19  l def  nVar2                            int
  7.    5:26  l def  nVar3                            int
  8.    6:23  l def  ucTest1                          unsigned char
  9.    8:9   l -w-  ucTest1                          unsigned char
  10.   10:9   l -w-  nVar1                            int
  11.   12:23  l def  pucTest2                         unsigned char [20]


 
au passage j'ai trouve des outils sympa comme splint (http://www.splint.org/) pour analyser son code.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Lister les variables

 

Sujets relatifs
tri de 2 variablesBatch recup nombres d'un .txt dans variables.
Integrer des variables dans une div.Import... où passent mes variables ?
générer des variables aléatoires avec boostMemoriser des variables d'une function à l'autre
Lire données pas à pas dans un fichier et stocker dans variablesAjouter des variables systémes dans un Modèle Outlook
Lister les variables d'une fonctionLister les variables d'un projet
Plus de sujets relatifs à : Lister les variables


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR